setClientDynamicPolicyControl コマンド
setClientDynamicPolicyControl コマンドは、Web サービス・クライアントであるアプリケーションが Web サービス・プロバイダーのポリシー構成を取得する方法を設定するために使用します。 プロバイダー・ポリシーの取得方法についての情報を、設定、更新、または削除することができます。
コマンドを実行するには、wsadmin スクリプト・クライアントの AdminTask オブジェクトを使用します。
wsadmin スクリプト・クライアントは、Qshell から実行されます。
詳しくは、『WebSphere® Application
Server スクリプトを実行するための Qshell の構成』のトピックを参照してください。
このコマンドは、WebSphere Application Server バージョン 7 以降のアプリケーション・サーバーで使用した場合にのみ有効です。 これより前のバージョンでは使用しないでください。
print AdminTask.help('PolicySetManagement')
print AdminTask.help('command_name')
AdminConfig.save()
目的
setClientDynamicPolicyControl コマンドは、クライアントがサービス・プロバイダーのポリシー構成をどのようにして取得するかを設定するために使用します。
クライアントは、Web サービス・メタデータ交換 (WS-MetadataExchange) 要求または HTTP GET 要求により、プロバイダーのポリシー構成を取得できます。サービス・プロバイダーは、Web サービス記述言語 (WSDL) の WS-PolicyAttachment フォーマットでポリシーを公開する必要があり、クライアントはそれらのプロバイダーのポリシーに対応できる必要があります。
実行時にクライアントはその情報を使用して、クライアントとサービス・プロバイダーの両方にとって受け入れ可能なポリシー構成を確立します。
ターゲット・オブジェクト
Web サービス・クライアントであるアプリケーションまたはサービス。
必須パラメーター
- -applicationName
- プロバイダーのポリシー構成を取得する対象となるアプリケーションの名前。 (ストリング)
- -resource
- プロバイダーのポリシー構成を取得する対象となるリソースの名前。アプリケーションのすべての情報に対して、WebService:/ を指定します。 あるいは、サービス またはサービス参照 を指定できます。
- 詳しくは、サービス・プロバイダー・ポリシーを使用するクライアント・ポリシーの wsadmin スクリプトを使用した構成のトピックを参照してください。
オプション・パラメーター
- -acquireProviderPolicyMethod
- プロバイダーのポリシー構成の取得方法を指定します。
(ストリング)以下のいずれかの値を入力します。
- httpGet
- HTTP GET 要求を使用して、プロバイダーのポリシー構成を取得します。
デフォルトでは、HTTP GET 要求は、後ろに ?WSDL が続く各サービス・エンドポイントの URL をターゲットとします。resource パラメーターのサービスを指定しており、そのプロバイダーのポリシー構成で別のロケーションを指定する場合は、httpGetProperties パラメーターを使用すると、要求のターゲットを変更することができます。
デフォルトでは、HTTP GET 要求は、アプリケーション要求と同じ HTTP および SSL トランスポート・ポリシーを使用します。httpGetProperties パラメーターを使用して要求のターゲットを変更し、その要求に対して異なる HTTP と SSL のトランスポート・ポリシーを指定する場合、システム・ポリシー・セットと、必要な HTTP と SSL トランスポート・ポリシーを含む汎用バインディングを指定できます。
- wsMex
- WS-MetadataExchange 要求を使用して、プロバイダーのポリシー構成を取得します。
デフォルトで、WS-MetadataExchange 要求はアプリケーションからポリシー・セットおよびバインディング構成を継承します。システム・ポリシー・セット、および必要な WS-Security ポリシーを含む汎用バインディングを指定できます。
- -wsMexProperties
- WS-MetadataExchange 要求に対してメッセージ・レベル・セキュリティーが必要であることを指定し、メッセージ・レベル・セキュリティーを指定する設定を指定します。
(プロパティー)以下の値を入力します。各値に続けて、その値に対して必要な設定が説明されています。
- wsMexPolicySetName
- WS-MetadataExchange 要求のメッセージ・レベル・セキュリティーを指定するシステム・ポリシー・セットの名前です。WS-Security ポリシーのみ、WS-Addressing ポリシーのみ、または両方のポリシーを含むシステム・ポリシー・セットを指定します。
- wsMexPolicySetBinding
- WS-MetadataExchange 要求の、ポリシー・セット関連付けの汎用バインディングの名前です。グローバル・ドメインを有効範囲とする汎用バインディング、またはこのサービスのセキュリティー・ドメインを有効範囲とする汎用バインディングを指定します。
このプロパティーを
指定しない場合は、デフォルトのバインディングが使用されます。
この値は、wsMexPolicySetName 値を指定した場合にのみ有効です。
このパラメーターは、acquireProviderPolicyMethod パラメーターで wsMex を指定する場合にのみ有効です。
- -httpGetProperties
- プロバイダー・ポリシーがターゲットのエンドポイントとは異なるロケーションにある場合に、HTTP GET 要求を使用してプロバイダー・ポリシーを取得するようにターゲットを指定します。オプションで、システム・ポリシー・セット、および必要な HTTP と SSL のトランスポート・ポリシーを含む汎用バインディングを指定します。
(プロパティー)次の値を入力します。各値に必要な設定値をその後に続けます。
- httpGetTargetURI
- プロバイダー・ポリシーがあるロケーションの URL。例えば、ロケーションはレジストリーで保持されているポリシーを参照している可能性があります。
- httpGetPolicySetName
- HTTP GET 要求に使用する HTTP と SSL のトランスポート・ポリシーを含むシステム・ポリシー・セットの名前です。指定したシステム・ポリシー・セットに、HTTP と SSL のトランスポート以外のポリシー・タイプが含まれる場合、これらの他のポリシー・タイプは無視されます。
この値は、httpGetTargetURI 値を指定した場合にのみ有効です。
- httpGetPolicySetBinding
- HTTP GET 要求に使用する HTTP と SSL のトランスポート・バインディングを含む汎用バインディングの名前です。このプロパティーを
指定しない場合は、デフォルトのバインディングが使用されます。
この値は、httpGetPolicySetName 値を指定した場合にのみ有効です。
このパラメーターは、acquireProviderPolicyMethod パラメーターで httpGet を指定し、リソースがサービスである場合にのみ有効です。リソースがアプリケーションの場合は、このパラメーターを使用しないでください。
- -remove
- プロバイダーのポリシー構成をクライアントが取得する方法についての情報を、削除するかどうかを指定します。(ブール値)パラメーターは 以下のいずれかの値になります。
- true
- プロバイダーのポリシー構成をクライアントが取得する方法についての情報は削除されます。
- false
- この値がデフォルトです。 プロバイダーのポリシー構成をクライアントが取得する方法についての情報は削除されません。
例
次の例では、クライアントがプロバイダーのポリシー構成を取得する方法についての情報を、WSPolicyClient クライアント・アプリケーションの EchoService サービスから削除しています。
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-remove true]')
以下の例は、HTTP GET 要求を使用してプロバイダーのポリシー構成を取得するように WSPolicyClient クライアント・アプリケーションの EchoService サービスを構成します。
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [httpGetTargetURI http://example_path]]')
以下の例は、HTTP GET 要求を使用してプロバイダーのポリシー構成を取得するように WSPolicyClient クライアント・アプリケーションの EchoService サービスを構成します。要求は、SystemWSSecurityDefault ポリシー・セットに含まれる HTTP と SSL トランスポート・ポリシーおよび「クライアントのサンプル」一般バインディングを使用します。
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [ [httpGetTargetURI http://example_path]
[httpGetPolicySetName SystemWSSecurityDefault]
[httpGetPolicySetBinding [Client sample]] ]]')
以下の例は、SystemWSSecurityDefault ポリシー・セットおよび「クライアント・サンプル」汎用バインディングを使用して、メッセージ・レベル・セキュリティーを指定された WS-MetadataExchange 要求によりプロバイダーのポリシー構成を取得するように、WSPolicyClient クライアント・アプリケーションの EchoService サービスを構成しています。
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [wsMex ]
-wsMexProperties [ [wsMexPolicySetName [SystemWSSecurityDefault]]
[wsMexPolicySetBinding [Client sample]] ]]')