Web サービス (J2EE 1.3 から J2EE 1.4)

J2EE 1.4 仕様では、新規 JAX-RPC 1.0 API を介した Web サービスへのサポートが追加されました。

JAX-RPC API は以下を通じてサービス・エンドポイントをサポートします。 J2EE 1.4 仕様は、J2EE 仕様 (JSR 109) に対する Web サービスを サポートします。JSR 109 は Web サービスのデプロイメント要件を定義して、 JAX-RPC プログラミング・モデルを使用します。
以下の Web サービス成果物が J2EE マイグレーション・ウィザードを使用してマイグレーションされます。
  • Web サービス記述子
  • Web サービス・クライアント記述子
  • JAX-RPC マッピング記述子

Web サービス・デプロイメント記述子のマイグレーション

J2EE 1.4 仕様 レベルにマイグレーションされる J2EE 1.3 プロジェクトに含まれた Web サービスの デプロイメント記述子は、JSR-109 V1.0 (J2EE 1.3 の場合) から J2EE 1.4 に マイグレーションされます。

Web サービス・デプロイメント記述子は、JSR-109 V1.0 によって定義されているように、 webservices.xml ファイルと webservicesclient.xml ファイル、 および webservices.xmlwebservicesclient.xml ファイル が参照するすべての JAX-RPC マッピング・デプロイメント記述子で構成されています。 他の J2EE デプロイメント記述子と同様に、マイグレーションにより、 記述子に含まれている情報の構造は J2EE 1.4 仕様に準拠するように変更されます。Web サービス・デプロイメント記述子に固有の 1 つの構造上の変更は、 修飾名の表記方法に対する変更です。JSR-109 V1.0 では、 修飾名は <namespaceURI><localpart> という、 それぞれネーム・スペース URI と名前のローカル・パートを含む、2 つの エレメントのシーケンスを使用して表記されていました。 J2EE 1.4 での修飾名は、XML ネームスペースを使用する XMLSchema QName タイプを 基にしています。

以下では各 Web サービス・デプロイメント記述子の マイグレーションについてさらに詳しく説明します。
  • Web サービス記述子 (webservices.xml)

    webservices.xml デプロイメント記述子 は、J2EE Web サービスを含む Web プロジェクトにあります。<wsdl-port> エレメントと <soap-header> エレメント の両方に修飾名が含まれており、そのコンテンツが J2EE 1.4 フォーマットに マイグレーションされます。

    たとえば、<wsdl-port> がマイグレーション 前、次のように表記されている場合、

    <wsdl-port>
      <namespaceURI>http://addressbook.webservice</namespaceURI>
      <localpart>AddressBook</localpart>
    </wsdl-port>

    マイグレーション後は、<wsdl-port> は 次のように表されます。

    <wsdl-port xmlns:pfx="http://addressbook.webservice">pfx:AddressBook</wsdl-port>

    接頭部 "pfx" は、マイグレーションされるすべての修飾名のネームスペース接頭部として使用されます。

  • Web サービス・クライアント記述子 (webservicesclient.xml)
    webservicesclient.xml デプロイメント記述子は J2EE Web サービス・クライアントを含む J2EE 1.3 Web プロジェクト、およびアプリケーション・クライアント・プロジェクト にあります。J2EE 1.3 から 1.4 へのマイグレーション中、webservicesclient.xml の コンテンツはマイグレーションされ、プロジェクトのデプロイメント記述子に 移動されます。次のようなプロセスが発生します。
    • Web プロジェクトの場合、webserivcesclient.xml のすべての <service-ref> エレメントが web.xml の <web-app> エレメントの下に移動される。
    • アプリケーション・クライアント・プロジェクトの場合、 webservicesclient.xml 内のすべての <service-ref> エレメント が、application-client.xml 内の <application-client> エレメントの下に移動される。
    • Webservicesclient.xml が削除される。

    <service-qname> エレメントと <soap-header> エレメントの両方に修飾名が含まれ、 そのコンテンツが J2EE 1.4 フォーマットにマイグレーションされます。たとえば、<service-qname> がマイグレーション 前に次のように表記されている場合、

    <service-qname>
      <namespaceURI>http://addressbook.webservice</namespaceURI>
      <localpart>AddressBookService</localpart>
    </service-qname>

    マイグレーション後は、<service-qname> は 次のように表されます。

    <service-qname xmlns:pfx="http://addressbook.webservice">pfx:AddressBookService</service-qname>

    接頭部 "pfx" は、マイグレーションされるすべての修飾名のネームスペース接頭部として使用されます。

  • JAX-RPC マッピング記述子

    webservices.xmlwebservicesclient.xml デプロイメント記述子の 両方が 1 つ以上の JAX-RPC マッピング・デプロイメント記述子を参照することができます。

    webservices.xml ファイルでは、これらの参照はそれぞれの <webservice-description> エレメントの下の <jaxrpc-mapping-file> エレメントに含まれています。 webservicesclient.xml ファイルでは、これらの参照はそれぞれの <service-ref> エレメントの下の <jaxrpc-mapping-file> エレメントに含まれています。

    J2EE 1.3 から 1.4 への マイグレーション中、webservices.xml および webservicesclient.xml で 参照されているすべての JAX-RPC マッピング・デプロイメント記述子が マイグレーションされます。マイグレーションにはすべての修飾名を J2EE 1.4 フォーマットに マイグレーションすることが含まれます (マイグレーション後の修飾名の例については、 前述の webservices.xml webservicesclient.xml の セクションを参照してください)。

親トピック: J2EE 1.3 から 1.4 仕様レベルへのマイグレーション

関連タスク
セキュア Web サービスのマイグレーション

関連資料
Web プロジェクト (サーブレット・レベル 2.3 からサーブレット・レベル 2.4)
コネクター・プロジェクト (JCA 1.0 から JCA 1.5)
J2EE 1.3 から 1.4 仕様レベルへのマイグレーション