コマンド行から EJB2WebService ツールを使用すると、IBM® WebSphere® ランタイム環境を使用して EJB Bean から Web サービスを生成できます。
EJB2WebService13 コマンドは EJB v2.0 と J2EE 1.3 をサポートし、EJB2WebService コマンドは EJB 2.1 と J2EE 1.4 をサポートします。
構文
コマンド行をセットアップした後、次の構文と引数を使用してこのツールを実行できます。
- Windows®:
EJB2WebService [<optional arguments>] -project <ProjectName>
-ri <RemoteInterface> <EJB.ear>
- Linux: EJB2WebService.sh [<optional arguments>]
-project <ProjectName> -ri <RemoteInterface> <EJB.ear>
注: <EJB.ear> は必ず最後の引数として指定してください。
引数
必須引数:
- -project
- プロジェクト名を指定します。これは、生成したファイルがすべて保管される現行作業ディレクトリーの下にディレクトリーを作成するときに使用します。プロジェクト名がすでに存在する場合、既存の EAR ファイルのバックアップ・コピーが作成されます。例えば、MyWebService というプロジェクトがある場合、MyWebService.ear ファイルは MyWebService.ear.backup に名前が変更されます。
- -ri
- Enterprise Bean のリモート・インターフェースの名前を指定します。この名前は、com.ibm.wsdk.testing.TestBeanRemote などの、完全修飾パッケージ名でなければなりません。
- <EJB.ear>
- 既存の EAR ファイルの完全修飾パス名を指定します。このファイルには、1 つ以上の EJB モジュール JAR ファイルが含まれています。
-g オプションを使用して EJB クラスをコンパイルし、生成した WSDL ファイルのパーツ名属性にメソッドの正しいパラメーター名が含まれるようにします。
オプショナル引数:
- -methods <method list>
- Enterprise Bean 中のどの非静的なパブリック・メソッドを Web サービスで公開するかを指定します。デフォルトではこれらのメソッドがすべて含まれます。
<method list> のメソッドは必ずスペースで区切ります。
- -clientType <J2SE | Application | Servlet | EJB>
- 指定したクライアントのタイプに対するスケルトン実装クラスを生成します。この引数は、-genMain 引数と組み合わせて使用する必要があります。-server-side-only 引数を
すでに指定している場合は、この引数を使用することはできません。
- -genMain <name of main class>
- 生成するメイン・クラスの名前を指定します。この引数は、-clientType 引数と組み合わせて使用する必要があります。-server-side-only 引数をすでに指定している場合は、この引数を使用することはできません。
- -host <hostName:portNumber>
- ホスト名またはポート番号を指定します。デフォルト値は localhost:6080 です。
- -contextRoot <ContextRoot>
- Web サービスのコンテキスト・ルートを指定します。このデフォルト値は <ProjectName> です。
- -servicePortName <PortName>
- Web サービスのポート名を指定します。このデフォルト値は EJB Bean の名前です。
引数 -host、-contextRoot、および -servicePortName を使用して、サービス・エンドポイントの URL を指定します。フォーマットは次のとおりです。http://hostName:portNumber/<ContextRoot>/services/<PortName>
- -sei <interface.java>
- 事前に作成されたサービス・エンドポイント・インターフェース (Java™ ソース・コード・ファイル) の完全修飾パス名を指定します。パス名を指定しない場合、このツールによって実行時に 1 つ動的に作成されます。
- -server-side-only
- サーバー・サイドの helper クラスのみを生成します。デフォルトでは、サーバー・サイドおよびクライアント・サイドの両方の helper クラスが生成されます。
- -clientEJBName <EJB client filename>
- クライアント EJB ファイルの情報を使用して、クライアント・アプリケーションの名前を指定したクライアント・サイドの webservicesclient.xml 記述子を構成します。この引数の指定を行わない場合、webservicesclient.xml をクライアント EJB ファイルに追加する前に手動で編集する必要があります。
- -style <style type>
- <style type> の指定に従って、スタイル rpc、doc、または wrapped を指定して WSDL を生成します。
デフォルトのスタイルは Wrapped です。
- -use <bindings>
- <bindings> の指定に従って、literal か encoded のどちらかのバインディングを指定して WSDL を生成します。デフォルトは literal です。
- -splitWsdl
- デプロイされない別個のインターフェースおよび実装 WSDL 文書を生成します。デフォルトでは、インターフェースと実装の情報を結合して 1 つの文書が作成されます。
重要: この引数を使用することを選択すると、EAR ファイルが生成されますが、いったんそのファイルがワークスペースにインポートされ、Unit Test Environment またはリモート・サーバーにデプロイされると、サーバー始動時に例外が起こります。この例外は、ルーターの Web プロジェクトでの WSDL の欠落が原因です。このエラーを避けるには、以下のいずれかを行ってください。
- 管理者コンソールを使用してスタンドアロンの
WebSphere
Application Server にデプロイする。
- モノリシック WSDL を使用する。つまり、-splitWsdl 引数を使用しない。
- EJB プロジェクトの META-INF/wsdl ディレクトリーの下にあるすべての WSDL ファイルを手動でルーター Web プロジェクトの WEB-INF/wsdl にコピーする。
- - wsSecDir <directory>
- 生成したデプロイメント記述子を WS セキュリティー情報によって構成するための、テンプレートを含むディレクトリーへの絶対パスを指定します。このディレクトリーには、ibm-webservices-bnd.xmi ファイルおよび ibm-webservices-ext.xmi ファイルが含まれていなければなりません。また、クライアント・サイド・バインディングを生成する場合は ibm-webservicesclient-bnd.xmi と ibm-webservicesclient-ext.xmi も必要です。
- -PkgtoNS <package> <namespace>
- Java パッケージからネームスペースへのマッピングを指定します。パッケージにネームスペースがない場合は、
適切なネームスペース名が生成されます。この引数を繰り返して、複数のパッケージに対するマッピングを指定できます。
- -voidReturn [ONEWAY | TWOWAY]
- void を戻すメソッドを要求/応答操作 (デフォルト) にするか、片方向の操作にするかを指定します。
- -verbose
- このツールの実行中に追加情報を表示します。
- -help
- ヘルプ情報を表示します。
注: -deploy オプションはサポートされていません。