この規則により、JAX-RPC 固有のパッケージおよび構成ファイルの使用にフラグを立てます。 また、この規則により、XML マッピング・ファイルでの jaxrpc-mapping-file タグの使用にフラグを立てます。 次の表に、この規則の影響を受ける Java パッケージ、構成ファイル、および XML マッピング・ファイルをリストします。
パッケージ |
構成ファイル |
XML マッピング・ファイル |
|---|---|---|
|
|
|
このルールで JAX-RPC 変換ツールから検証を実行したところ、このスキャンでは JAX-RPC 変換ツールを使用して JAX-WS にバイナリー変換する操作に適した JAX-RPC Web サービスは存在しないことが判明しました。
Java API for XML-based RPC (JAX-RPC) は、Liberty でも Liberty Core でもサポートされていません。 このテクノロジーは、WebSphere Application Server traditional V9.0 で非推奨となったため、今後のバージョンでは削除される可能性があります。 アプリケーションが JAX-RPC を使用する場合、戦略的なマイグレーション・パスでは JAX-WS を使用しますが、他にも以下の方法があります。
以下の表では、プロジェクトに影響を与える可能性のあるため、4 つのオプションを比較します。
プロジェクトの要素 |
オプション 1手動で JAX-RPC web サービスを JAX-WS web サービスに移行する |
オプション 2Liberty で Apache Axis 1 JAX-RPC エンジンを使用する |
オプション 3WebSphere Application Server traditional をそのネイティブ JAX-RPC エンジンと一緒に使用する |
|---|---|---|---|
|
サポートされるソリューション |
ある JAX-WS は、Liberty Core を除き、すべての Liberty エディションで構成可能なフィーチャーとしてサポートされます。 |
ない Axis 1 はサポートされていません。 |
ある JAX-RPC は、WebSphere Application Server traditional でサポートされています。 |
|
重要なソリューション |
ある JAX-WS は、Liberty Core を除き、すべての Liberty エディションに戦略的です。 |
ない Axis 1 は、現在では開発されていません。 |
ない JAX-RPC は、WebSphere Application Server traditional で非推奨となったため、今後のバージョンでは削除される可能性があります。 |
|
実装の複雑さ |
高 このオプションは、JAX-RPC クライアントと JAX-RPC Web サービスの数が多い場合は複雑になる可能性があります。 JAX-RPC 変換ツールを使用せずに、JAX-RPC サービス を JAX-WS に移植するには、コード・ベースが多くの変更が必要です。 |
低 アプリケーションで既に Axis 1 を使用している場合、このオプションは複雑ではありません。 使用していない場合、このオプションの複雑さは中程度です。 |
中 JAX-RPC Web サービスから別のエンジンにマイグレーションする際、ほとんどのコード・ベースは保持されます。 |
|
拡張機能 |
ある 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 web サービスがいくつかあり、アプリケーションが JAX-RPC 変換ツールの要件を満たしない場合に、このオプションを使用します。 |
JAX-RPC Web サービスが既に Axis 1 で実行されている場合は、このオプションを使用します。 |
JAX-RPC Web サービスが既に WebSphere Application Server traditional で実行されているか、まだ Axis 1 で実行されていない JAX-RPC Web サービスが多数ある場合は、このオプションを使用します。 |
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 テクノロジーの残骸である可能性があります。 使用されていない構成は削除できます。