setClientDynamicPolicyControl 命令
使用 setClientDynamicPolicyControl 命令可以设置用作 Web Service 客户机的应用程序如何获取 Web Service 提供程序的策略配置。您可以设置、刷新或移除此有关如何获取提供者策略的信息。
要运行此命令,请使用 wsadmin 脚本编制客户机的 AdminTask 对象。
wsadmin 脚本编制客户机是从 Qshell 运行的。有关更多信息,请参阅“配置 Qshell 以运行 WebSphere® Application Server 脚本”主题。
此命令仅适用于 WebSphere Application Server V7 和更高版本的应用程序服务器。请不要对先前版本使用此命令。
print AdminTask.help('PolicySetManagement')
print AdminTask.help('command_name')
AdminConfig.save()
用途
使用 setClientDynamicPolicyControl 命令来设置客户机如何获取服务提供程序的策略配置。
客户机可以通过 Web Service Metadata Exchange (WS-MetadataExchange) 请求或 HTTP GET 请求来获取提供程序的策略配置。服务提供程序必须以 WS-PolicyAttachment 格式在其 Web Service 描述语言 (WSDL) 中发布其策略,并且客户机必须可以支持这些提供程序策略。
在运行时,客户机使用此信息来建立客户机和服务提供程序都可以接受的策略配置。
目标对象
用作 Web Service 客户机的应用程序或服务。
必需参数
- -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]')
以下示例将 WSPolicyClient 客户机应用程序的 EchoService 服务配置为使用 HTTP GET 请求获取提供程序的策略配置。
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [httpGetTargetURI http://example_path]]')
以下示例将 WSPolicyClient 客户机应用程序的 EchoService 服务配置为使用 HTTP GET 请求获取提供程序的策略配置。该请求使用包含在 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]] ]]')
以下示例将 WSPolicyClient 客户机应用程序的 EchoService 服务配置为通过具有消息级安全性的 WS-MetadataExchange 请求使用 SystemWSSecurityDefault 策略集和“客户机样本”常规绑定来获取提供程序的策略配置。
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [wsMex ]
-wsMexProperties [ [wsMexPolicySetName [SystemWSSecurityDefault]]
[wsMexPolicySetBinding [Client sample]] ]]')