JAX-RPC 変換ツールによる検証により、このスキャンでの JAX-RPC Web サービスは、JAX-RPC 変換ツールを使用した JAX-WS へのバイナリー変換に適していると判断されました。
JAX-RPC の実装がアプリケーションで検出されました。 コードを変更せずに、アプリケーションで提供されている JAX-RPC 実装を引き続き使用できます。
この規則により、JAX-RPC 固有のパッケージおよび構成ファイルの使用にフラグを立てます。 また、この規則により、XML マッピング・ファイルでの jaxrpc-mapping-file タグの使用にフラグを立てます。 次の表に、この規則の影響を受ける Java パッケージ、構成ファイル、および XML マッピング・ファイルをリストします。
パッケージ |
構成ファイル |
XML マッピング・ファイル |
|---|---|---|
|
|
|
Java API for XML-based RPC (JAX-RPC) は、Liberty でも Liberty Core でもサポートされていません。 このテクノロジーは、WebSphere Application Server traditional V9.0 で非推奨となったため、今後のバージョンでは削除される可能性があります。 戦略的なマイグレーション・パスでは JAX-WS を使用します。 相対的な作業は、選択したマイグレーション・パスに応じて変わります。
以下の表では、プロジェクトに影響を与える可能性のあるため、4 つのオプションを比較します。
プロジェクトの要素 |
オプション 1JAX-RPC 変換ツールを使用して JAX-RPC Web サービスを JAX-WS Web サービスに移行します |
オプション 2手動でJAX-RPC web サービスを JAX-WS web サービスに移行します |
オプション 3Liberty で Apache Axis 1 JAX-RPC エンジンを使用する |
オプション 4WebSphere Application Server traditional をそのネイティブ JAX-RPC エンジンと一緒に使用する |
|---|---|---|---|---|
|
サポートされるソリューション |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションで構成可能なフィーチャーとしてサポートされます。 Maven および Gradle 用の WebSphere Liberty JAX-RPC 変換ツールをダウンロードしてください。 |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションで構成可能なフィーチャーとしてサポートされます。 |
いいえ Axis 1 はサポートされていません。 |
はい JAX-RPC は、WebSphere Application Server traditional でサポートされています。 |
|
重要なソリューション |
はい JAX-WS は、Liberty Coreを除き、すべての Liberty エディションにとっても戦略的です。 |
はい JAX-WS は、Liberty Coreを除き、すべての Liberty エディションにとっても戦略的です。 |
いいえ Axis 1 は、現在では開発されていません。 |
いいえ JAX-RPC は、WebSphere Application Server traditional で非推奨となったため、今後のバージョンでは削除される可能性があります。 |
|
実装の複雑さ |
低速 アプリケーションが JAX-RPC 変換ツールの検証にパスしました。JAX-RPC サービスは、このツールによって JAX-WS Web サービスに変換できます。 |
高 このオプションは、JAX-RPC クライアントと JAX-RPC Web サービスの数が多い場合は複雑になる可能性があります。 JAX-RPC 変換ツールを使用せずに、JAX-RPC サービス を JAX-WS に移植するには、コード・ベースが多くの変更が必要です。 |
低速 アプリケーションで既に Axis 1 を使用している場合、このオプションは複雑ではありません。 使用していない場合、このオプションの複雑さは中程度です。 |
中 JAX-RPC Web サービスから別のエンジンにマイグレーションする際、ほとんどのコード・ベースは保持されます。 |
|
拡張機能 |
はい JAX-WS は、アノテーション、JAXB バインディング、SOAP 1.2 などの多数の拡張機能を提供します。 |
はい JAX-WS は、アノテーション、JAXB バインディング、SOAP 1.2 などの多数の拡張機能を提供します。 |
いいえ JAX-RPC には、JAX-WS にある多くの拡張機能がありません。 |
いいえ JAX-RPC には、JAX-WS にある多くの拡張機能がありません。 |
|
仕様の準拠 |
はい |
はい |
はい JAX-RPC はまだ Java EE 仕様の一部ですが、Java EE 6 では非推奨です。 |
はい JAX-RPC はまだ Java EE 仕様の一部ですが、Java EE 6 では非推奨です。 |
|
推奨事項 |
アプリケーションが JAX-RPC 変換ツールの要件を満たす場合に、このオプションを使用します。 |
JAX-RPC Web サービスがいくつかあり、アプリケーションが JAX-RPC 変換ツールの要件を満たしない場合に、このオプションを使用します。 |
JAX-RPC Web サービスが既に Axis 1 で実行されている場合は、このオプションを使用します。 |
JAX-RPC Web サービスが既に WebSphere Application Server traditional で実行されているか、まだ Axis 1 で実行されていない JAX-RPC Web サービスが多数ある場合は、このオプションを使用します。 |
Maven および Gradle 用の WebSphere Liberty JAX-RPC 変換ツールから JAX-RPC 変換ツールをダウンロードしてください。
JAX-RPC 変換ツールを使用した JAX-RPC から JAX-WS へのアプリケーションのマイグレーションについては、オンライン資料の Maven を使用した JAX-RPC アプリケーションの Liberty へのマイグレーションまたは Gradle を使用した JAX-RPC アプリケーションの Liberty へのマイグレーションを参照してください。
JAX-RPC から JAX-WS へのアプリケーションのマイグレーションについては、オンライン資料の Web サービスのマイグレーション・シナリオ: JAX-RPC から JAX-WS および JAXB へを参照してください。
JAX-RPC と JAX-WS の違いについて詳しくは、 JAX-WS アプリケーション・デプロイメント・モデルを参照してください。
Axis 1 を既に使用している場合、それを Liberty で使用するには、Axis 1 ライブラリーを Liberty クラスパスに含める必要があります。
埋め込みの JAX-RPC を使用する場合、Axis 1 を使用するように web サービスを変換できます。 以下のプロシージャーでは、web サービスを Red Hat JBossからAxis 1に移行する方法について説明します。
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
このコマンドについて詳しくは、 WSDL2Java 資料 (Apache Web サイト) を参照してください。
WSDD 構成エレメントについて詳しくは、 デプロイメント (WSDD) 参照 (Apache Web サイト) を参照してください。
例えば、以下のメソッドには JNDI 検索があります。
ルックアップは以下のように置き換える必要があります。
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {WebSphere Application Server JAX-RPC エンジンを使用する場合は、WebSphere Application Server traditional を使用する必要があります。 JAX-RPC は、Liberty ではサポートされていません。 Liberty を使用するには、他のオプションのいずれかを選択する必要があります。
JAX-RPC 構成ファイルが検出されても、このアプリケーション内で JAX-RPC Java API が使用されていた形跡がない場合、その構成ファイルは以前使用していて現在は不要になった JAX-RPC テクノロジーの残骸である可能性があります。 使用されていない構成は削除できます。