使用 wsadmin 脚本编制配置服务提供程序以共享其策略配置
WebSphere® Application Server 服务提供程序可以在所发布的 Web Service 描述语言 (WSDL) 中,或者通过使用 HTTP GET 请求或 Web Service 元数据交换 (WS-MetadataExchange) GetMetadata 请求获取的 WSDL 中,共享其策略配置。
开始之前
要获取受支持的 WS-Policy 声明规范和 WS-Policy 域的列表,请参阅“了解 WS-Policy”主题。
关于此任务
- 将服务提供程序的策略配置包括在 WSDL 中。这样,此 WSDL 便可供发布,您也可以使用 HTTP GET 请求来获取此 WSDL。
- 启用 Web Service 元数据交换 (WS-MetadataExchange) 协议,以便将服务提供程序的策略配置包括在 WSDL 中并使其可供 WS-MetadataExchange GetMetadata 请求使用。使用 WS-MetadataExchange 协议的优点是,通过使用适当的系统策略集,可以对 WS-MetadataExchange GetMetadata 请求应用消息级安全性。
如果服务提供者应用程序使用多重部件 WSDL,那么所有的 WSDL 必须本地至 Web Service 的应用程序。有关多重部件 WSDL 的更多信息,请参阅关于 WSDL 的主题。
必须将服务提供程序配置为共享其策略配置,这是因为,在缺省情况下,策略配置未包含在它的 WSDL 中。您可以配置服务提供程序以便将策略配置包括在它的 WSDL 中并且/或者使用 WS-MetadataExchange 以使策略配置可用。 本主题描述如何使用 wsadmin 命令来配置服务提供程序以共享其策略配置。也可以使用管理控制台或 Rational® Application Developer 工具。
您可以对服务提供程序进行配置,以便在应用程序级别或服务级别共享其策略配置。另外,还将共享与任何较低级别相连接的策略集所表示的策略配置。在较低级别连接的策略集将覆盖在较高级别连接的策略集配置。
过程
结果
<wsp:Policy>
<wsp:ExactlyOne>
</wsp:ExactlyOne>
</wsp:Policy>
此策略通知客户机,没有用于该服务的可接受策略配置。WSDL 的其他方面不受影响。服务提供程序可能会由于其策略配置无法以标准的 WS-PolicyAttachments 格式表达而无法共享该配置。其中一个原因可能是,您为特定连接点定义了多个不兼容的策略。另一个原因可能是,没有足够的绑定信息,因此无法生成标准的策略。策略配置可能包括引导策略(例如,用于访问 WS-Trust 服务的策略),因此引导策略也必须以 WS-PolicyAttachments 格式表达。