Web サービスのマイグレーションのヒント

マイグレーションのヒント

この製品の旧バージョンから Web サービス または Web サービス・コンポーネントをマイグレーションする場合は、 その成功率を高めるための次のヒントを参考にしてください。
JAX-RS JAR のロケーション

本製品の以前のバージョンで作成された JAX-RS Web サービスは、 WebSphere Application Server v8.0 (Feature Pack for Web 2.0 v1.0.x および v1.1.0 の共存をサポート) の影響を受けます。その結果、Rational Application Developer は 4 つの JAX-RS 1.1. ライブラリー・プロバイダーと 4 つの非推奨 JAX-RS 1.0.x ライブラリー・プロバイダーをサポートします。

Feature Pack for Web 2.0 v1.0.x JAX-RS ライブラリーを参照するプロジェクトを新規バージョンの Rational Application Developer にマイグレーションする場合、プロジェクトは、Feature Pack for Web 2.0 v1.0.x がインストールされている場合のみ機能します。Feature Pack for Web 2.0 v1.1 にマイグレーションした場合は、新しい JAX-RS ライブラリーを使用できるように、 プロジェクトをマイグレーションする必要があります。これを行うには、プロジェクトを右クリックし、 「プロパティー」 > 「プロジェクト・ファセット」 > 「JAX-RS」を選択し、新規ライブラリー・タイプを選択します。

セキュア Web サービスはマイグレーションされない
セキュア Web サービスでは、Web サービスの J2EE 1.3 から J2EE 1.4 への移行時は、J2EE マイグレーション・ウィザードによる移行ではありません。セキュア Web サービスの移行には、手動ステップが必要です。J2EE のマイグレーション後、 セキュアなバインディング・ファイルおよび拡張ファイルを、次のようにして、手動で J2EE 1.4 に マイグレーションしてください。
  1. webservices.xml ファイルをダブルクリックして、Web サービス・エディターを開きます。
  2. 「Binding Configurations」タブを選択して、 バインディング・ファイルを編集します。
  3. 新しいセクション「要求コンシューマー・バインディング構成の詳細」「応答ジェネレーター・バインディング構成の詳細」の下に、 必要なバインディング構成をすべて追加します。
  4. 「拡張」 タブを選択して、拡張ファイルを編集します。
  5. 新しいセクション「要求コンシューマー・サービス構成の詳細」「応答ジェネレーター・サービス構成の詳細」の下に、 必要な拡張構成をすべて追加します。
  6. 保存してエディターを終了します。
マイグレーション済み EAR には JDK 準拠レベルに関するビルド・エラーがある
前のバージョンの製品で生成された Web サービス EAR では、J2SE 5.0 を デフォルトの JDK 準拠レベルとして使用する Java™ コンパイラーが 原因でビルド・エラーが発生することがあります。古い Web サービス・ウィザードで 生成された Java コードは、J2SE 5.0 での 予約済みキーワードである enum をパッケージ ID として 使用していました。この問題を解決するには、次のようにします。
  1. 影響を受ける Web サービス・プロジェクトを選択して右クリックし、「プロパティー」を選択します。
  2. プロパティーのリストから「Java コンパイラー」を選択します。
  3. 「JDK 準拠」セクションで、「コンパイラー準拠レベル」を 1.4 以降に変更します。「OK」をクリックします。
EAR は JDK レベルが原因でデプロイに失敗する

スローされた例外: com.ibm.etools.webservice.deploy.core.WebserviceXMLException: Compilation error in *.jar

問題: ワークスペースから作成およびエクスポートされた EAR ファイルを WebSphere® Application Server 6.1.x にデプロイできず、「class file has wrong version 49.0, should be 48.0 Please remove or make sure it appears in the correct subdirectory of the classpath」のエラーが発生しました。

原因: プロジェクトの作成時のデフォルトの JDK コンパイラーは JDK 5.0 です。WebSphere Application Server 6.1.x JDK レベルが 1.4 です。Java 1.4 は、バージョン 48.0 のラベルが付いたクラス・ファイルを作成します。 Java 1.5 は、バージョン 49.0 のラベルが付いたクラス・ファイルを作成します。 Java 1.4 は、バージョン 49.0 のラベルが付いたクラス・ファイルを実行することはできません。

解決策: 以下の操作を行って、JDK 1.4 コンパイラーを使用するクラスを 含むプロジェクトを再コンパイルします。
  1. プロジェクトを右クリックして、「プロパティー」>「Project Facets」を 選択します。
  2. 「Add/Remove Project Facets」をクリックします。
  3. 2 番目の Java エントリーの「バージョン」を ダブルクリックします。
  4. ドロップダウン・リストから「1.4」を選択します。
  5. 「終了」>「OK」をクリックします。
  6. プロジェクトを右クリックして、「プロパティー」>「Java Compiler」を 選択します。
コンパイラーの準拠レベルが 1.4 7 に変更されたことが わかります。コンパイル済み EAR ファイルをエクスポートして、WebSphere Application Server 6.1.x にデプロイします。デプロイメントは正常に行われるはずです。
ポリシー・セット構成を持つクライアント・アプリケーションの、Rational® Application Developer v7.0.0.x から Rational Application Developer v7.5 へのマイグレーション

WebSphere Application Server 6.1.0.9 (Rational Application Developer v7.0.0.x と共にインストールされたバージョン) 以前 のポリシー・セット構成を持つクライアント・アプリケーションを、新しいレベルの WebSphere Application Server (WebSphere Application Server v7.5 など) を使用する環境にマイグレーションする場合、クライアント・サイドのポリシー・セット・バインディング構成を更新する必要があります。 WebSphere Application Server v6.1.0.9 以前では、サーバー・サイドのデフォルト・バインディングを満たすように、ツールによってカスタムのクライアント・バインディング構成が生成されていました。 このクライアント・アプリケーションおよびそのサービスを、より新しいレベルの WebSphere Application Server にマイグレーションする場合、クライアント・サイドのデフォルト・バインディングも使用するように変更する必要があります。

クライアント・サイド・アプリケーションのマイグレーションのステップ
  1. クライアント・アプリケーションの「ポリシー・セット関連付けの管理」ウィザードを実行します。
  2. 「アプリケーション」テーブルで、エンドポイントを選択します。
  3. 「編集」を選択し、「エンドポイント構成」ダイアログで、ドロップダウンから <デフォルト・バインディング> を選択してバインディング・フィールドを変更します。
  4. 「OK」を選択して、「終了」をクリックします。
  5. テストを行う前に、アプリケーションが WebSphere サーバーでリパブリッシュされるまで待機します。
認識されなくなったポリシー・セットからマイグレーションを行う場合 (例えば、Web サービスを WebSphere Application Server v6.1.x から WebSphere Application Server v7 に移動した場合など)、「ポリシー・セット関連付けの管理」ウィザードを実行すると、ポリシー・セットがサポートされていて、サポートされているポリシー・セットへのマイグレーションを行うことができる場合は通知されます。

フィードバック