Web Service 提供程序和策略配置共享
WebSphere® Application Server 服务提供程序可以通过其 Web Service 描述语言 (WSDL) 来共享其当前策略配置。策略配置具有标准的 WSDL WS-PolicyAttachment 格式,因此可供其他支持 Web Service 策略 (WS-Policy) 规范的客户机、服务注册表或服务共享。
借助管理控制台或管理命令,系统管理员还可以通过带有 .zip 文件扩展名的已发布压缩文件来访问 WSDL 文档。但是,以此方式获取的 WSDL 文档可能不同于使用 HTTP GET 请求或通过 WS-MetadataExchange 协议获取的 WSDL 文档,因为在压缩文件中发布的静态 WSDL 文档无法考虑应用程序代码中可能存在的任何 Web Service 功能、注释或部署描述符元素,例如,WS-Addressing 注释。
缺省情况下,策略共享处于关闭状态。要将服务提供程序的策略配置包括在 WSDL 中并指定其共享方式,您可以使用管理控制台或 wsadmin 命令。
策略共享处于启用状态时,WSDL 中先前的所有 WS-Policy 附件都会被移除。请注意,策略配置信息在要发布的 WSDL 中变为可用,但是,如果您直接从管理控制台查看 WSDL 文档或使用管理代理程序远程发布 WSDL,那么此信息不可用。
已配置为使用安全性断言标记语言 (SAML) 的服务提供程序可以共享策略,以便供 WebSphere Application Server 客户机或服务注册表使用。请注意,SAML 标记是以专有格式发布的。
通过在生成 Web Service 时使用 Rational® Application Developer 工具,应用程序开发者可以指定要让服务提供程序共享其策略配置,并可以指定共享方式。有关更多信息,请参阅 Rational Application Developer 文档。
传输策略信息不会包括在策略配置中,这是因为,HTTP、SSL 和 JMS 之类的传输策略无法以 WS-PolicyAttachment 格式表达。
如果引导策略以标准的可发布 WS-PolicyAttachment 格式表达,那么可以将引导策略信息(例如用于访问 WS-Trust 服务的策略)包括在策略配置中。
您可以对服务提供程序进行配置,以便在应用程序级别或服务级别共享其策略配置。另外,还将共享与任何较低级别相连接的策略集所表示的策略配置。在较低级别连接的策略集将覆盖在较高级别连接的策略集配置。
- 通过将策略集连接至应用程序来定义策略。
- 通过在 port-component-ref 元素中使用部署描述符元素来定义策略。
- 通过在应用程序代码中使用注释或功能部件来定义策略。
- 通过使用与应用程序一起打包的 WSDL 文档中的 WS-Policy 附件来定义策略。
如果将应用程序部署在单元中,并且您使用管理控制台来发布 WSDL,那么 WSDL 将包含单元的 Deployment Manager 的策略集配置。如果您更改了任何策略集,那么所作的更改直到该配置被刷新时(例如,在 Deployment Manager 重新启动时,或者在脚本编制命令刷新 Deployment Manager 的策略集配置时)才会影响 Deployment Manager 的配置。
- 启用策略共享时,WSDL 中的 WS-Policy 附件描述了服务的策略配置。
- 未启用策略共享时:
- HTTP GET 请求返回的 WSDL 是与应用程序一起打包的 WSDL。注: 这类 WSDL 按原样返回,所以可能包含预先存在的与服务配置不匹配的 WS-Policy 附件。
- 如果没有与服务相关联的特定 WSDL 文档,那么服务器运行时会自动生成 WSDL 文档并将其与服务相关联。在此情况下,除非服务实现上存在 @Addressing 注释,否则 WSDL 不会包含任何 WS-Policy 附件,如果服务实现上存在 @Addressing 注释,那么 @Addressing 注释配置会展示在所生成 WSDL 中的 WS-Policy 附件中。
- HTTP GET 请求返回的 WSDL 是与应用程序一起打包的 WSDL。