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.xml ファイルと webservicesclient.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 プロジェクトと EJB プロジェクトに存在します。 <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 プロジェクト、EJB プロジェクト、およびアプリケーション・クライアント・プロジェクトに存在します。 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> 要素の下に移動されます。
    • EJB プロジェクトの場合、webserviceclient.xml<component-scoped-refs> 内の <service-ref> 要素が、 ejb-jar.xml の対応する <enterprise-bean> の下に移動されます。
    • 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 のセクションを参照してください)。


フィードバック