この規則により、JAX-RPC 固有のパッケージおよび構成ファイルの使用にフラグを立てます。 また、この規則により、XML マッピング・ファイルでの jaxrpc-mapping-file タグの使用にフラグを立てます。 次の表に、この規則の影響を受ける Java パッケージ、構成ファイル、および XML マッピング・ファイルをリストします。
パッケージ |
構成ファイル |
XML マッピング・ファイル |
|---|---|---|
|
|
|
このアプリケーションは、JAX-RPC 変換ツールでの使用が検証されませんでした。 最新のバイナリー・スキャナーまたは Transformation Advisor データ・コレクターを使用して、JAX-RPC 変換ツールの事前検証分析を行います。
Java API for XML-based RPC (JAX-RPC) は、Liberty でも Liberty Core でもサポートされていません。 このテクノロジーは、WebSphere Application Server traditional V9.0 で非推奨となったため、今後のバージョンでは削除される可能性があります。 ご使用のアプリケーションが JAX-RPC を使用している場合、望ましいマイグレーション・パスは 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 サービスが多数ある場合は、このオプションを使用します。 |
JAX-RPC 変換ツールを WebSphere Liberty JAX-RPC Conversion Tool for Maven and Gradleからダウンロードします。
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>
このコマンドについて詳しくは、Apache の Web サイトの『 WSDL2Java Reference』を参照してください。
WSDD 構成エレメントについて詳しくは、Apache の Web サイトの『 Deployment (WSDD) Reference』を参照してください。
例えば、以下のメソッドには 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 テクノロジー由来である可能性があります。 使用されていない構成は削除できます。