この規則は、以下の基準に基づいて、JAX-RPC Web サービスがあることを検出します。
- web-services.xml ファイルが存在する
- weblogic-webservices.xml ファイルと webservices.xml ファイルが同一フォルダー内に存在する
マニュアル
WebLogic J2EE Webサービス展開記述子に基づいてJAX-RPC Webサービスを生成するには、特定のタスクを使用して Ant スクリプトを手動で作成する必要があります。 IBM® Ant タスクを使用して手動でスクリプトを作成する必要があります。 スクリプトは、 IBM Ant -生成されたファイルがまだ存在しない場合、プロジェクトのルートフォルダに追加する必要があります。 これらのタスクは デプロイメント記述子からJAX-RPC Webサービスを生成します。
規則のプロパティー
分析中に正確な結果を得るためには、ルールのプロパティに正しい値を指定する必要があります。 これらのプロパティを確認し アプリケーションのコンテキストに基づいて適切に設定する必要があります。 この規則のプロパティーは、以下のとおりです。
- 生成された Ant スクリプト名
:
生成される新しい Ant スクリプトの名前を指定します。 name は有効なファイル名でなければならない。 値には前方または後方のスラッシュを含んではならない。 スクリプトはプロジェクトのルート・フォルダーに置かれる。
デフォルト値: build-ibm-ws.xml
- 生成フォルダー名:
生成成果物が入れられるフォルダーの名前を指定します。
値にはスラッシュや円記号を使用しないでください。
生成フォルダーは、プロジェクトのルート・フォルダーに入れられます。
デフォルト値: ibm-ws-gen
Ant クラスパス
Ant クラスパスは Eclipse プロジェクトから計算されます。
コンパイルに必要なすべてのエレメントが Eclipse クラスパス上にあることを確認することが重要です。
web-services.xml ファイルで定義された JAX-RPC サービス
web-services.xml で定義されたサービスの情報およびタイプに基づいて、Ant スクリプト、
および場合によっては Web サービスのエンドポイント・インターフェースを表す追加の Java コードが、JAX-RPC サービスを
複製するために生成されます。
- サポートされるコンポーネント
ステートレス・セッションのエンタープライズ Bean (<stateless-ejb>) および Java(R) (<java-class>) コンポーネントだけが認識されて変換されます。
- ステートレス EJB コンポーネント:
<ejb-link> 要素の path 属性で定義された Enterprise JavaBeans (TM) (EJB) JAR ファイルがプロジェクト内に存在しなければなりません。 <ejb-link> 要素の path 属性で定義されている JAR ファイルがプロジェクト内に存在する必要があります。 自動化された修正では、以下のことが行われる。 EJB JAR ファイルをスキャンし、EJB リモート・クラスに基づいて新しいサービス・エンドポイント・インターフェイス (SEI) クラスを生成します。
SEI インターフェースは、クラスが拡張する必要があるという点で EJB リモート・インターフェースとは異なります。
java.rmi.Remote
、各メソッドは例外をスローする必要があります。
java.rmi.RemoteException
.
自動化された修正では、EJBの Java リフレクションを使用して、新しいSEI を生成します。 リモート・インターフェース上でリフレクションを使用して新しいSEIを生成します。
したがって、 Eclipse プロジェクトのクラスパスに、必要なクラス、JAR ファイル、ディレクトリがすべて含まれていることを確認してください。 プロジェクト・クラスパスに必要なすべてのクラス、JAR ファイル、およびディレクトリが含まれていることを確認してください。 が含まれていることを確認します。
SEIは、ルールでユーザーが指定した生成フォルダーの中のseiというフォルダーに生成されなければならない。 フォルダ内に生成されなければなりません。 パッケージと一致し、SEI名はEJBリモートインターフェースと同じになります。 パッケージと一致し、SEI名はEJBリモート・インターフェースと同じになります。 さらに、新しい SEI フォルダーがプロジェクト・クラス・パスに追加されます。 がプロジェクト・クラス・パスに追加されます。
- Java クラスのコンポーネント:
EJB コンポーネントと同様に、自動修正では、<class-name> 属性で定義された クラスからサービス・エンドポイント・インターフェース を <class-name> 属性で定義された Java クラスから生成します。
- 生成される Ant ターゲット:
生成された Ant スクリプトには WSDLファイルとJAX-RPCサービスを生成するターゲットが含まれている。 サービスを生成するターゲットが含まれている。
WSDL 生成ターゲットの名前は genWSDL_ssss になります。
ssss は <web-service> エレメントの name 属性フィールドに指定された JAX-RPC サービスの名前です。
サービス生成ターゲットの名前は genService_pppp です。
pppp はエレメント <stateless-ejb> または <java-class> の name 属性にあるコンポーネントの名前です。
自動修正では、<handlers-chain>や<types>といった他の要素で提供される <handlers-chain>, <types>、 <operations>、<security> などの要素で提供される情報は使用されません。
webservices.xml ファイルで定義された JAXRPC サービス
webservices.xml ファイルに定義されるサービスの情報とタイプに基づいて、
JAX-RPC サービスを複製する Ant スクリプトが生成されます。
- 生成される Ant ターゲット:
生成される Ant スクリプトには、WSDL ファイルと JAX-RPC サービスを生成するターゲットが含まれます。
WSDL生成ターゲットは、以下の場合にのみ生成されます。 要素で定義された WSDL ファイルが見つからない場合にのみ生成されます、 <wsdl-file> 要素で定義された WSDL ファイルが見つからない場合にのみ生成されます。
WSDL 生成ターゲットが作成される場合、名前は genWSDL_ssss になります。
ssss はエレメント <webservice-description-name> で定義されるサービスの名前です。
サービス生成ターゲットの名前は genService_pppp になります。
pppp はエレメント <port-component-name> で定義されるポートの名前です。
IBM WebSphere Application Server Ant タスク
WebSphere(R) Application Server には、JAX-RPC サービスに必要な成果物を生成する java2wsdl や wsdl2java などの Ant タスクが組み込まれています。
生成される Ant スクリプトは、これらのタスクを使用してサービスを作成します。
これらのタスクに関する追加情報は、以下から入手できます。
WebSphere Application Server の資料。
Ant スクリプトの実行
Ant スクリプトを作成したら、スクリプトを表示し、必要であればカスタマイズを追加します。
IBM Ant タスクの追加のカスタマイズについては、アプリケーション・サーバーの資料を参照してください。
このスクリプトは、WebSphere Application Server に組み込まれている Ant ツール
を使用して実行する必要があります。 IBM Ant スクリプト
は、以下から実行できます。
- Windows(R) オペレーティング・システムの場合 WAS_HOME¥bin¥ws_ant.bat
- UNIX(R) オペレーティング・システムの場合 WAS_HOME¥bin¥ws_ant.sh
例: c:¥IBM¥AppServer¥bin¥ws_ant.bat -f
c:¥eclipse¥MyProject¥ibm-ws-gen.xml genService_TestService
Ant ターゲットが実行されると、生成される成果物が生成フォルダーに入れられます。
その後、ユーザーは生成されたコードおよびデプロイメント記述子を検査し、
これらの成果物をモジュールに追加できます。