コマンド行から 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
- エンタープライズ Bean のリモート・インターフェースの名前を指定します。これは、
完全修飾パッケージ名 (例えば com.ibm.wsdk.testing.TestBeanRemote) でなければなりません。
- <EJB.ear>
- 既存の EAR ファイルの完全修飾パス名を指定します。このファイルには、
少なくとも 1 つの EJB モジュール JAR ファイルが含まれます。 -g オプションを
使用して EJB クラスをコンパイルすると、生成された WSDL ファイルのパーツ名属性に、
メソッドの正しいパラメーター名が含まれるようになります。
オプション引数:
- -methods <method list>
- エンタープライズ 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 の名前です。
サービス・エンドポイントの URL を指定するには、
引数 -host、-contextRoot、
および -servicePortName を使用します。
フォーマットは次のとおりです。http://hostName:portNumber/<ContextRoot>/services/<PortName>
- -sei <interface.java>
- 事前に作成されたサービス・エンドポイント・インターフェース (Java™ ソース・コード・ファイル) の完全修飾パス名を指定します。パス名を指定しない場合は、ツールが実行時に
動的に生成します。
- -server-side-only
- サーバー・サイド・ヘルパー・クラスのみを生成します。デフォルトでは、
サーバー・サイドだけではなくクライアント・サイドのヘルパー・クラスも生成されます。
- -clientEJBName <EJB client filename>
- クライアント EJB ファイル内の情報を使用して、クライアント・サイドの webservicesclient.xml 記述子を、
クライアント・アプリケーションの名前で構成します。
この引数を指定しない場合は、webservicesclient.xml を手動で編集してから、
それをクライアント EJB ファイルに追加する必要があります。
- -style <style type>
- <style type> で指定したスタイル ( rpc、
doc、または wrapped) の WSDL を
生成します。デフォルト・スタイルは
Wrapped です。-style=DOC を
設定すると、アンラップされた WSDL が生成されることに注意してください。
- -use <bindings>
- <bindings> の指定に従って、
バインディングが literal または encoded の WSDL を
生成します。デフォルトは literal です。
- -splitWsdl
- デプロイされていない、個別のインターフェースおよび実装 WSDL 文書を
生成します。デフォルトでは、インターフェースと実装の情報を結合した
単一の文書が作成されます。
重要: この引数を使用すると、
EAR ファイルが生成されますが、それをワークスペースにインポートし、
単体テスト環境またはリモート・サーバーにデプロイすると、
サーバーの始動時に例外が発生します。この例外は、ルーターの Web プロジェクトに WSDL が欠落しているために起こります。
このエラーを防ぐためには、次のいずれかを実行してください。
- 管理コンソールを使用して、スタンドアロンの WebSphere Application Server にデプロイします。
- モノリシック WSDL を使用します。-splitWsdl 引数は使用しないでください。
- EJB プロジェクト内の META-INF/wsdl ディレクトリーにある
すべての WSDL ファイルを、ルーター Web プロジェクトの WEB-INF/wsdl に、
手動でコピーします。
- - wsSecDir <directory>
- WS-Security 情報で生成されたデプロイメント記述子を構成するテンプレートが
含まれているディレクトリーの絶対パスを指定します。このディレクトリーには、
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 オプションは
サポートされていません。