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.
For a list of the available policy set management administrative
commands, plus a brief description of each command, enter the following
command at the wsadmin prompt:
print AdminTask.help('PolicySetManagement')
For overview help on a given command, enter the following
command at the wsadmin prompt:
print AdminTask.help('command_name')
After using the command, save your changes to the master
configuration. For example, use the following command:
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 Service 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:/.
For a service in an application, specify WebService:/module:{namespace}service_name. Endpoints or operations inherit the settings of the parent
application or service. (String)
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.
- wsMex
- Obtain the policy configuration of the provider by using a WS-MetadataExchange
request.
- -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
when the policy configuration of the provider is obtained through a WS-MetadataExchange
request. Specify a system policy set that contains only WS-Security policies,
only WS-Addressing policies, or both. The default policy set is SystemWSSecurityDefault.
- wsMexPolicySetBinding
- The name of the general binding for the policy set attachment when the
resource shares its policy configuration through 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 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.
(Properties)
Enter the following value, followed by the setting that you
require for that value:
- httpGetTargetURI
- The URL for the location of the provider policy. For example, the location
might refer to policy held in a registry.
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.
Example
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 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]] ]]')