通过 wsadmin 脚本编制将客户机策略配置为使用服务提供程序策略

作为 Web Service 客户机的应用程序可以获取 Web Service 提供程序的策略配置并使用此信息来建立客户机和服务提供程序都可接受的策略配置。

开始之前

您已开发包含所有必需工件的 Web Service 客户机,并且已将 Web Service 应用程序部署到应用程序服务器实例中。必要时,您已连接策略集并管理相关联的绑定。

服务提供程序必须在其 Web Service 描述语言 (WSDL) 中发布其策略,并且,该策略在运行时必须包含 WS-PolicyAttachments 格式的策略配置。客户机必须能够支持那些提供程序策略。

要获取受支持的 WS-Policy 声明规范和 WS-Policy 域的列表,请参阅WS-Policy主题。

关于此任务

您可以管理客户机,以便在运行时根据标准 WS-PolicyAttachments 格式的服务提供程序策略动态地对其进行配置。您可以管理客户机以在应用程序或服务 或服务引用 级别动态应用提供程序策略。
注: 如果在服务引用级别指定客户机动态策略控制,那么必须使用资源字符串的新“名称/值”对列表格式。如果不在服务引用级别指定客户机动态策略控制,那么可以使用任何一种格式。
表 1. 如何在应用程序的不同级别指定策略控制. 对于应用程序的每一个可应用级别,该表列示了指定策略控制时所需的相关字符串格式命令和“名称/值”对格式命令,并总结了关联的行为。
级别 字符串格式 “名称/值”对列表格式(新) 行为
类型 "WebService:/" "type=WebService:/" 指示应用程序中的所有工件
服务 "WebService:/myModule:{namespace}myService" "type=WebService:/,module=myModule,service={namespace}myService" 指示 Web Service 内的所有工件
端点(位于此服务下面) "WebService:/myModule:{namespace}myService/endpointA" "type=WebService:/,module=myModule,service={namespace}myService,endpoint=endpointA" 指示适用于此端点的所有操作(位于该服务下面)
操作(位于此服务下面) "WebService:/myModule:{namespace}myService/endpointA/operation1" "type=WebService:/,module=myModule,service={namespace}myService,endpoint=endpointA, operation=operation1" 指示特定的单个操作(位于该服务下面)
服务引用 [不可能] "type=WebService:/,module=myModule,service={namespace}myService,serviceRef=myServiceRef" 指示 Web Service 引用内的所有工件
端点(位于此服务引用下面) [不可能] "type=WebService:/,module=myModule,service={namespace}myService,serviceRef=myServiceRef, endpoint=endpointA" 指示适用于此端点的所有操作(位于该服务引用下面)
操作(位于此服务引用下面) [不可能] "type=WebService:/,module=myModule,service={namespace}myService,serviceRef=myServiceRef, endpoint=endpointA,operation=operation1" 指示特定的单个操作(位于该服务引用下面)

如果提供程序策略使用多重部件 WSDL,那么您可以使用 HTTP GET 请求来获取提供程序策略,但是您不可以使用 WS-MetadataExchange 协议。有关多重部件 WSDL 的更多信息,请参阅关于 WSDL 的主题。

策略交集是指,将客户机策略与提供程序策略作比较以确定他们是否兼容,并计算一个与其需求和能力均相符的新策略(称为“有效策略”)。

本主题描述如何通过使用 wsadmin 命令配置客户机策略以使用服务提供程序策略。也可以通过使用管理控制台配置客户机策略以使用服务提供程序策略。

过程

  1. 如果 wsadmin 脚本编制客户机尚未运行,请将其启动。
  2. 使用 SetClientDynamicPolicyControl 命令。 例如:
    AdminTask.setClientDynamicPolicyControl('[-applicationName WebServiceClientApplication 
    -resource WebService:/ClientApplication.war:{http://example_path/}Service1 
    -acquireProviderPolicyMethod [httpGet ] 
    -httpGetProperties [httpGetTargetURI http://example_path]]') 
  3. 将更改保存到主配置.
    要保存配置更改,请输入以下命令:
    AdminConfig.save()

结果

如果在运行时需要计算 Web 应用程序客户机端策略,那么将根据您选择的选项,基于服务提供程序的策略或客户机策略集和服务提供程序的策略进行此计算。 这个通过计算而得的策略被称为“有效策略”,并且将作为运行时配置进行高速缓存。此有效策略用于对执行了动态策略计算的端点或操作的后续出站 Web Service 请求。客户机的策略集配置保持不变。

客户机为服务保留的提供程序策略将在装入应用程序后调用 Web Service 时进行首次刷新。此后,在应用程序重新启动时或者应用程序显式地调用刷新时,将刷新提供程序策略。刷新提供程序策略时,将重新计算有效策略。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_wsp_client_sppw
文件名:twbs_wsp_client_sppw.html