setClientDynamicPolicyControl command
Use the setClientDynamicPolicyControl command to set how an application that is a web services client obtains the policy configuration of a web services provider. You can set, refresh, or remove this information about how a provider policy is obtained.
To run the command, use the AdminTask object of the wsadmin scripting client.
The wsadmin scripting client is run from Qshell. For more
information, see the topic "Configure Qshell to run WebSphere® Application Server scripts".
This command is valid only when it is used with WebSphere Application Server Version 7 and later application servers. Do not use it with earlier versions.
print AdminTask.help('PolicySetManagement')
print AdminTask.help('command_name')
AdminConfig.save()
Purpose
Use the setClientDynamicPolicyControl command to set how a client obtains the policy configuration of a service provider.
The client can obtain the policy configuration of the provider through a Web Services Metadata Exchange (WS-MetadataExchange) request or through an HTTP GET request. The service provider must publish its policy in WS-PolicyAttachment format in its Web Services Description Language (WSDL) and the client must be able to support those provider policies.
At run time, the client uses the information to establish a policy configuration that is acceptable to both the client and the service provider.
Target object
An application or service that is a web services client.
Required parameters
- -applicationName
- The name of the application for which you want to obtain the policy configuration of the provider. (String)
- -resource
- The name of the resource for which you want to obtain the policy configuration of the provider. For all resources in an application, specify WebService:/. Alternatively, you can specify a service or service reference .
- See the Configuring the client policy to use a service provider policy by using wsadmin scripting topic for further details.
Optional parameters
- -acquireProviderPolicyMethod
- Specifies how the policy configuration of the provider can be obtained. (String)Enter one of the following values:
- httpGet
- Obtain the policy configuration of the provider by using an HTTP GET request.
By default, the HTTP GET request is targeted at the URL for each service endpoint followed by ?WSDL. If you specify a service for the resource parameter, and you want to specify a different location for the policy configuration of the provider, you can use the httpGetProperties parameter to change the target of the request.
By default, the HTTP GET request uses the same HTTP and SSL transport policies as the application request. If you use the httpGetProperties parameter to change the target of the request, and you want to specify different HTTP and SSL transport policies for the request, you can specify the system policy set and general binding that contains the HTTP and SSL transport policies you require.
- wsMex
- Obtain the policy configuration of the provider by using a WS-MetadataExchange request.
By default, the WS-MetadataExchange request inherits the policy set and binding configuration from the application. You can specify the system policy set and general binding that contains the WS-Security policies you require.
- -wsMexProperties
- Specifies that message-level security is required for WS-MetadataExchange requests and specifies the settings that provide the message-level security. (Properties)Enter the following values, following each value with the setting that you require for that value:
- wsMexPolicySetName
- The name of the system policy set that specifies message-level security for a WS-MetadataExchange request. Specify a system policy set that contains only WS-Security policies, only WS-Addressing policies, or both.
- wsMexPolicySetBinding
- The name of the general binding for the policy set attachment for a WS-MetadataExchange request. Specify a general binding that is scoped to the global domain, or scoped to the security domain of this service. If you do not specify this property, the default binding is used.
This value is valid only when you specify the wsMexPolicySetName value.
This parameter is valid only when you specify wsMex for the acquireProviderPolicyMethod parameter.
- -httpGetProperties
- Specifies the target for acquiring provider policy by using an HTTP GET request if the provider policy is at a different location from the target endpoint.
Optionally specifies the system policy set and general binding that contains the HTTP and SSL transport policies you require.
(Properties)Enter the following values, followed by the setting that you require for each value:
- httpGetTargetURI
- The URL for the location of the provider policy. For example, the location might refer to policy held in a registry.
- httpGetPolicySetName
- The name of the system policy set that contains the HTTP and SSL transport policy to use for the HTTP GET request. If the specified system policy set contains policy types other than HTTP and SSL transport, these additional policy types are ignored.
This value is valid only when you specify the httpGetTargetURI value.
- httpGetPolicySetBinding
- The name of the general binding that contains the HTTP and SSL transport bindings for the HTTP GET request. If you do not specify this property, the default binding is used.
This value is valid only when you specify the httpGetPolicySetName value.
This parameter is valid only when you specify httpGet for the acquireProviderPolicyMethod parameter and the resource is a service. Do not use this parameter if the resource is an application.
- -remove
- Specifies whether to remove the information about how the client obtains the policy configuration of the provider. (Boolean)This parameter takes the following values:
- true
- Information about how the client obtains the policy configuration of the provider is removed.
- false
- This value is the default. Information about how the client obtains the policy configuration of the provider is not removed.
Examples
The following example removes the information about how the client obtains the policy configuration of the provider from the EchoService service of the WSPolicyClient client application.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-remove true]')
The following example configures the EchoService service of the WSPolicyClient client application to obtain the policy configuration of the provider by using an HTTP GET request.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [httpGetTargetURI http://example_path]]')
The following example configures the EchoService service of the WSPolicyClient client application to obtain the policy configuration of the provider by using an HTTP GET request. The request uses the HTTP and SSL transport policies contained in the SystemWSSecurityDefault policy set and the "Client sample" general binding.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [ [httpGetTargetURI http://example_path]
[httpGetPolicySetName SystemWSSecurityDefault]
[httpGetPolicySetBinding [Client sample]] ]]')
The following example configures the EchoService service of the WSPolicyClient client application to obtain the policy configuration of the provider through a WS-MetadataExchange request with message-level security, by using the SystemWSSecurityDefault policy set and the "Client sample" general binding.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [wsMex ]
-wsMexProperties [ [wsMexPolicySetName [SystemWSSecurityDefault]]
[wsMexPolicySetBinding [Client sample]] ]]')