通过 wsadmin 脚本编制将客户机策略配置为使用服务提供程序策略
作为 Web Service 客户机的应用程序可以获取 Web Service 提供程序的策略配置并使用此信息来建立客户机和服务提供程序都可接受的策略配置。
开始之前
服务提供程序必须在其 Web Service 描述语言 (WSDL) 中发布其策略,并且,该策略在运行时必须包含 WS-PolicyAttachments 格式的策略配置。客户机必须能够支持那些提供程序策略。
要获取受支持的 WS-Policy 声明规范和 WS-Policy 域的列表,请参阅WS-Policy主题。
关于此任务
您可以管理客户机,以便在运行时根据标准 WS-PolicyAttachments
格式的服务提供程序策略动态地对其进行配置。您可以管理客户机以在应用程序或服务
或服务引用
级别动态应用提供程序策略。
注: 如果在服务引用级别指定客户机动态策略控制,那么必须使用资源字符串的新“名称/值”对列表格式。如果不在服务引用级别指定客户机动态策略控制,那么可以使用任何一种格式。
级别 | 字符串格式 | “名称/值”对列表格式(新) | 行为 |
---|---|---|---|
类型 | "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 命令配置客户机策略以使用服务提供程序策略。也可以通过使用管理控制台配置客户机策略以使用服务提供程序策略。
过程
结果
客户机为服务保留的提供程序策略将在装入应用程序后调用 Web Service 时进行首次刷新。此后,在应用程序重新启动时或者应用程序显式地调用刷新时,将刷新提供程序策略。刷新提供程序策略时,将重新计算有效策略。