Web Services Addressing (WS-Addressing) は、Web サービスをアドレス指定する標準の方法を定義し、メッセージ内でアドレス指定する情報を提供することで、Web サービス間のインターオペラビリティーを補助する World Wide Web Consortium (W3C) 仕様です。 WS-Addressing サポートを使用可能にするには、以下のいずれかのオプションを実行します。 WebSphere Application Server 上で実行されるサービス用の Web サービス記述言語 (WSDL) ファイルを構成する。 ポリシー・セットをサービスに添付する (JAX-WS アプリケーションのみ)。 WS-Addressing アプリケーション・プログラミング・インターフェース (API) またはシステム・プログラミング・インターフェース (SPI) を使用して、 WS-Addressing プロパティーを WebSphere Application Server クライアントに追加する。
このタスクを実行して、WS-Addressing サポートを、サービス・プロバイダーまたは別の関係者によって提供されたサービスのクライアントのどちらかとして、有効にします。 このタスクではまた、WS-Addressing サポートを使用不可にする方法も説明します。これにより、WS-Addressing または WS-Addressing サポートに依存する任意のプロトコルを使用しないアプリケーションのパフォーマンスを向上させることができます。
Web サービスを作成する場合は、サービスの開発中に、サービスの WSDL バインディング・エレメント内に UsingAddressing 拡張性エレメントを組み込むことで、WS-Addressing サポートを使用可能にできます。 このエレメントには required 属性が含まれています。この属性は false または true のいずれかの値を持ち、前者は WS-Addressing 情報が受け入れられるが着信メッセージ内では必要ではないことを指定し、後者は WS-Addressing 情報が着信メッセージ内で必要であることを指定します。 デフォルト値は false です。サービス WSDL ファイルに UsingAddressing エレメントを含まれている場合、 required 属性の値に関わりなく、WebSphere Application Server バージョン 6.1 クライアントからのメッセージには常に WS-Addressing 情報が含まれています。
JAX-WS アプリケーションの場合は、
アプリケーションにポリシー・セットを添付することにより、
WSDL ファイルを構成しなくても WS-Addressing サポートを使用可能にすることができます。
ポリシー・セットの添付は、
required 属性がデフォルト値である UsingAddressing エレメントを追加することと同等です。
別のプロバイダーからサービスを使用するためにクライアント・アプリケーションを作成する場合、 ユーザーは、サービスの WSDL ファイルへのアクセス権を持たない可能性があります。 または (サービスが WebSphere Application Server の現行バージョン上で実行されない場合は)、サービスが、UsingAddressing エレメントをサポートしない WSDL のバージョンを使用する可能性があります。 ただし、実行時に、JAX-WS BindingProvider オブジェクトの要求コンテキストで、 あるいはサービスと通信するために使用する JAX-RPC Stub または Call オブジェクトで WS-Addressing プロパティーを設定することにより、 WS-Addressing サポートを使用可能に設定できます。
UsingAddressing required = "false" を指定するサービスの WSDL | UsingAddressing required = "true" を指定するサービスの WSDL | UsingAddressing を指定しないサービスの WSDL | |
---|---|---|---|
クライアントは、WS-Addressing 情報を含むメッセージを送信します。 | WS-Addressing 情報は WebSphere Application Server によって処理されます。 | WS-Addressing 情報は WebSphere Application Server によって処理されます。 | WS-Addressing 情報は WebSphere Application Server によって処理されます。 |
非 WebSphere Application Server クライアントは、WS-Addressing 情報を含まないメッセージを送信します。 | メッセージは受け入れられます。 | サービスは「フォールト」を戻します。 | メッセージは受け入れられます。 |
A WebSphere Application Server クライアントは、アドレッシング・プロパティーを指定しないで、メッセージを送信します。 | メッセージは自動的に、WS-Addressing 仕様での定義のとおり、必要な WS-Addressing 情報を含みます。 情報は WebSphere Application Server によって処理されます。 | メッセージは自動的に、WS-Addressing 仕様での定義のとおり、必要な WS-Addressing 情報を含みます。 情報は WebSphere Application Server によって処理されます。 | WS-Addressing 情報は WebSphere Application Server によっては追加されません。 メッセージは受け入れられます。 |
これで、WS-Addressing プロパティーが SOAP メッセージ・ヘッダーに含まれ、メッセージを受信するとサーバーによって処理されるようになりました。
com.ibm.ws.wsaddressingAndDependents.disabled=true以下に例を示します。
java -Dcom.ibm.ws.wsaddressingAndDependents.disabled=true ... application_nameクライアントまたはサーバーにこのプロパティーを設定すると、アウトバウンド Web サービス・メッセージの SOAP ヘッダーの WS-Addressing メッセージ・アドレッシング・プロパティー (MAP) を WebSphere Application Server が送信しないようになります。 このプロパティーをサーバーに設定するとさらに、着信 SOAP ヘッダーの WS-Addressing MAP を WebSphere Application Server が処理しないようになります。