ポリシー構成を共有するサービス・プロバイダーの構成
WebSphere® Application Server サービス・プロバイダーは、HTTP GET 要求 あるいは Web Services Metadata Exchange (WS-MetadataExchange) GetMetadata 要求を使用して取得される公開済みの Web サービス記述言語 (WSDL) 内のポリシー構成を共有することができます。
このタスクについて
Java™ API for XML-Based Web Services (JAX-WS) サービス・エンドポイントのポリシー構成は、以下の方法で共有可能にすることができます。
- サービス・プロバイダーのポリシー構成を WSDL に組み込みます。 これにより WSDL が、HTTP GET 要求を使用して、公開や取得に使用できるようになります。
- サービス・プロバイダーのポリシー構成が WSDL に組み込まれ、WS-MetadataExchange GetMetadata 要求でその構成が使用できるように、Web Services Metadata Exchange (WS-MetadataExchange) プロトコルを使用可能に設定することができます。 適切なシステム・ポリシー・セットを使用して WS-MetadataExchange GetMetadata 要求にメッセージ・レベルのセキュリティーを適用できることが、WS-MetadataExchange プロトコルを使用する利点です。
サービス・プロバイダー・アプリケーションで複数パーツ WSDL が使用されている場合、すべての WSDL は、Web サービス・アプリケーションに対してローカルでなければなりません。複数パーツの WSDL について詳しくは、WSDL に関するトピックを参照してください。
Rational® Application Developer ツールを使用して、 ポリシー構成を共有するようにサービス・プロバイダーを構成することもできます。
このトピックでは、サービス・プロバイダーを構成し、そのポリシー構成を管理コンソールを使用して共有する方法について説明します。wsadmin コマンドまたは
手順
- 管理コンソールのナビゲーション・ペインで、 とクリックします。
- 共有するプロバイダー・ポリシーが関連付けられているアプリケーションまたはサービスの行で、 「ポリシー共有」列のリンクをクリックします。 リンクは、「使用可能」または「使用不可」のいずれかです。 「ポリシー共有 (Policy Sharing)」ペインが表示されます。
- WSDL にサービス・プロバイダーのポリシー構成を組み込んで、HTTP GET 要求を使用して公開または取得できるようにするには、「エクスポートされる WSDL (Exported WSDL)」を選択します。
- WS-MetadataExchange を有効にし、サービス・プロバイダーのポリシー構成を WS-MetadataExchange GetMetada 要求に対して使用可能にするには、「WS-MetadataExchange 要求 (WS-MetadataExchange request)」を選択します。
- オプション: 「WS-MetadataExchange 要求 (WS-MetadataExchange request)」を選択してメッセージ・レベルのセキュリティーを使用する場合は、「システム・ポリシー・セットを WS-MetadataExchange に関連付け (Attach a system policy set to the WS-MetadataExchange)」を選択して、ドロップダウン・リストから適切なポリシー・セットとバインディングを選択します。 WS-MetadataExchange 要求のセキュリティーの構成を参照してください。
- 「OK」をクリックして、変更をマスター構成に保存します。
タスクの結果
ポリシー構成が共有できない場合、問題を説明するエラーがサービス・プロバイダーのエラー・ログに書き込まれ、以下のポリシーがサービス・プロバイダーの WSDL に関連付けられます。
<wsp:Policy>
<wsp:ExactlyOne>
</wsp:ExactlyOne>
</wsp:Policy>
このポリシーによって、サービスに受け入れ可能なポリシー構成がないことがクライアントに通知されます。 WSDL のその他の部分には影響はありません。構成を標準の WS-PolicyAttachments 形式で表せないため、サービス・プロバイダーがそのポリシー構成を共有できない場合があります。 原因の 1 つとして、互換性のない複数のポリシーが特定の関連付けポイントに定義されていることが考えられます。 また、標準ポリシーを生成するためのバインディング情報が不十分であることが原因である可能性もあります。ポリシー構成には、WS-Trust サービスにアクセスするためのポリシーなどのブートストラップ・ポリシーが組み込まれている場合があるため、そのブートストラップ・ポリシーも WS-PolicyAttachment 形式で表されている必要があります。