WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化
             New or updated topic for this feature pack

Web サービス・アドレッシング・エンドポイント参照を介して参照される Web サービス・アプリケーションの作成

Web サービス・アドレッシング (WS-Addressing) は、Web サービスをアドレス指定して、メッセージ内でアドレス指定する情報を提供する標準の方法を定義することで、Web サービス間のインターオペラビリティーを補助します。 このタスクでは、WS-Addressing エンドポイント参照を使用してアクセスされる Web サービスを作成するために必要なステップを説明します。 このタスクはまた、Web サービスの一部としてステートフル・リソースを使用するために必要な追加のステップも説明しています。

始める前に

このタスクで説明されているステップは、WebSphere Application Server 上で実行されるサーバーおよびクライアントに適用されます。

このタスクについて

WS-Addressing インターオペラビリティー・プロトコルに準拠している、言い換えればエンドポイント参照を介してアドレス指定されている Web サービスを作成している場合は、このタスクを実行します。

プロシージャー

  1. エンドポイント参照をターゲット・サービスに戻す Web サービスの Web サービス記述言語 (WSDL) 文書を作成または生成することによって、Web サービス・インターフェースを提供します。 インターフェースは、ファクトリー・オペレーションまたは別々のファクトリー・サービスを使用することによって可能になるエンドポイント参照の戻しを行う必要があります。 ターゲット・サービスはリソース・インスタンス (例えばショッピング・カート) に面することができます。
  2. 前のステップで作成した Web サービスを実装します。 実装の WS-Addressing 部の場合は、以下のステップを実行します。
    1. Web サービス・アドレッシング・サポートを使用するエンドポイント参照の作成 の以下の指示に従って、Web サービスを参照するエンドポイント参照を作成します。
    2. オプション: ご使用のインターフェースが、リソース・インスタンスに面する Web サービスを呼び出す場合、リソース・インスタンスを作成またはルックアップします。
    3. オプション: リソース・インスタンスを使用している場合は、リソースの ID を入手し、EndpointReference.setReferenceParameter(QName resource_id_name, String value) メソッドを使用して、それを参照パラメーターとしてエンドポイント参照と関連付けます。 リソース ID はアプリケーション依存で、リソース・インスタンスの作成中に生成されます。
      重要: ID は SOAP メッセージ内を伝搬するので、リソース ID 内に機密情報を書き込んではいけません。
      ここで、エンドポイント参照が、リソースをターゲットにします。
    4. 新規またはこのフィーチャー・パックで更新されました ご使用のアプリケーションで JAX-WS を使用する場合は、 EndpointReferenceConverter クラスを使用して EndpointReference オブジェクトを W3C または Submission エンドポイント参照のいずれかに変換します。 どちらに変換するかは、EndpointReference オブジェクトのネーム・スペースにリストされる WS-Addressing 仕様によって決まります。 ネーム・スペースが http://www.w3.org/2005/08/addressing である場合は、 W3CEndpointReference オブジェクトに変換します。 ネーム・スペースが http://schemas.xmlsoap.org/ws/2004/08/addressing である場合は、 SubmissionEndpointReference オブジェクトに変換します。 SOAP メッセージの本文に渡されるエンドポイント参照は、 いずれもこの方法で変換する必要があります。
    5. エンドポイント参照を戻します。
  3. Web サービスがリソース・インスタンスを使用している場合は、実装を拡張して、着信メッセージが適切なリソース・インスタンスと一致するようにします。 リソース ID を前に作成したエンドポイント参照と関連付けたので、そのエンドポイント参照でターゲットされた着信メッセージはどれも、メッセージの SOAP ヘッダー内の参照パラメーターとしてリソース ID 情報を含んでいます。 リソース ID は SOAP ヘッダーに受け渡されるので、それを Web サービス・インターフェース上で公開する必要はありません。 WebSphere Application Server はメッセージを受信したとき、スレッド上のメッセージ・コンテキスト内にこの情報を書き込みます。 実装を拡張して、以下のアクションを実行します。
    1. EndpointReferenceManager.getReferenceParameterFromMessageContext(QName resource_id_name) メソッドを使用して、メッセージ・コンテキストからリソース・インスタンス ID を入手します。
    2. メッセージを適切なリソース・インスタンスに転送します。
  4. クライアントを構成してサービスと通信するには、メッセージをエンドポイントに送信するファースト・ステップ内で、サービスによって作成されたエンドポイント参照を使用します。
    1. Java Naming and Directory Interface (JNDI) 内のサービスをルックアップすることによって通常の Java Platform, Enterprise Edition (Java EE) 方式で JAX-WS BindingProvider オブジェクトまたは JAX-RPC Stub オブジェクトを入手するか、 または代わりに空の Call オブジェクトを作成します。
    2. 新規またはこのフィーチャー・パックで更新されました ご使用のアプリケーションが JAX-WS を使用する場合は、 EndpointReferenceConverter クラスを使用して、 サーバーから戻された W3CEndpointReference または SubmissionEndpointReference オブジェクトを元の EndpointReference オブジェクトに変換します。
    3. エンドポイント参照をプロキシー・オブジェクトと関連付けます。 Stub または Call オブジェクトの setProperty(String property_name, Object value) メソッドを使用して、 プロパティー名として WS-Addressing 定数の WSADDRESSING_DESTINATION_EPR を、 また値としてエンドポイント参照を使用して、エンドポイント参照を関連付けます。 JAX-WS アプリケーションの場合は、 BindingProvider オブジェクトの要求コンテキストに従って WSADDRESSING_DESTINATION_EPR プロパティーを設定します。 JAX-RPC アプリケーションの場合は、Stub または Call オブジェクトの setProperty(String property_name, Object value) メソッドを使用して、 プロパティー名として WS-Addressing 定数の WSADDRESSING_DESTINATION_EPR を、 また値としてエンドポイント参照を使用します。
      このプロシージャーは、自動的に BindingProvider 要求コンテキスト、 あるいは Stub または Call オブジェクトを構成して、 エンドポイント参照の Web サービス (またはご使用のインターフェースがリソース・インスタンスに面する Web サービスを使用している場合は、 リソース・インスタンス) を表します。 Call オブジェクトの場合、このプロセスには、 エンドポイント参照と関連付けられたインターフェースおよびエンドポイント・メタデータ (portType エレメントおよび port エレメント) が含まれます。
      注: エンドポイント参照のメタデータが、 すでにアウトバウンド・メッセージと関連付けられた情報と競合する場合、 例えば、Stub オブジェクトが異なるインターフェースを表すように構成されている場合、 エンドポイントの起動を試みると javax.xml.ws.WebServiceException または javax.xml.rpc.JAXRPCException 例外がスローされます。

    BindingProvider、Stub または Call オブジェクトでの呼び出しは、 エンドポイント参照で定義された Web サービスまたはリソース・インスタンスをターゲットとします。 呼び出しが発生すると、WebSphere Application Server は、 ターゲット・リソースを識別するエンドポイント参照に含まれる参照パラメーターなどの、 適切なメッセージ・アドレッシング・プロパティーをメッセージ・ヘッダーに追加します。

結果

Web サービスおよびクライアントは、WS-Addressing サポートを介してエンドポイント参照を使用するように構成されます。 コードを含む詳述された例については、例: Web Services Addressing API を使用して汎用 Web サービス・リソース・インスタンスにアクセスする Web サービスの作成 を参照してください。

次の作業




サブトピック
Web サービス・アドレッシング・サポートを使用するエンドポイント参照の作成
関連タスク
Web Services Addressing サポートの使用可能化と使用不可化
Web サービス・アドレッシング API の使用: エンドポイント参照を使用するアプリケーションの作成
関連資料
Web Services Addressing API
例: Web Services Addressing API を使用して汎用 Web サービス・リソース・インスタンスにアクセスする Web サービスの作成
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/twbs_wsa_rap.html