Web Service 提供程序和策略配置共享

WebSphere® Application Server 服务提供程序可以通过其 Web Service 描述语言 (WSDL) 来共享其当前策略配置。策略配置具有标准的 WSDL WS-PolicyAttachment 格式,因此可供其他支持 Web Service 策略 (WS-Policy) 规范的客户机、服务注册表或服务共享。

您可以通过以下方法使 Java™ API for XML-Based Web Services (JAX-WS) 服务端点的策略配置可共享:
  • 将服务提供程序的策略配置包括在 WSDL 中。这样,此 WSDL 便可供发布,您也可以使用 HTTP GET 请求来获取此 WSDL。
  • 启用 Web Service 元数据交换 (WS-MetadataExchange) 协议,以便将服务提供程序的策略配置包括在 WSDL 中并使其可供 WS-MetadataExchange GetMetadata 请求使用。使用 WS-MetadataExchange 协议的优点是,通过使用适当的系统策略集,可以对 WS-MetadataExchange GetMetadata 请求应用消息级安全性。

借助管理控制台或管理命令,系统管理员还可以通过带有 .zip 文件扩展名的已发布压缩文件来访问 WSDL 文档。但是,以此方式获取的 WSDL 文档可能不同于使用 HTTP GET 请求或通过 WS-MetadataExchange 协议获取的 WSDL 文档,因为在压缩文件中发布的静态 WSDL 文档无法考虑应用程序代码中可能存在的任何 Web Service 功能、注释或部署描述符元素,例如,WS-Addressing 注释。

缺省情况下,策略共享处于关闭状态。要将服务提供程序的策略配置包括在 WSDL 中并指定其共享方式,您可以使用管理控制台或 wsadmin 命令。

策略共享处于启用状态时,WSDL 中先前的所有 WS-Policy 附件都会被移除。请注意,策略配置信息在要发布的 WSDL 中变为可用,但是,如果您直接从管理控制台查看 WSDL 文档或使用管理代理程序远程发布 WSDL,那么此信息不可用。

如果服务提供者应用程序使用多重部件 WSDL,那么所有的 WSDL 必须本地至 Web Service 的应用程序。有关多重部件 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 附件中。

对策略配置共享进行故障诊断

服务提供程序可能会由于其策略配置无法以标准的 WS-PolicyAttachments 格式表达而无法共享该配置。其中一个原因可能是,您为特定连接点定义了多个不兼容的策略。另一个原因可能是,没有足够的绑定信息,因此无法生成标准的策略。策略配置可能包括引导策略(例如,用于访问 WS-Trust 服务的策略),因此引导策略也必须以 WS-PolicyAttachments 格式表达。

如果无法共享策略配置,那么将在服务提供程序错误日志中写入用于描述问题的错误,并且以下策略将连接到该服务提供程序的 WSDL:
<wsp:Policy>
<wsp:ExactlyOne>
</wsp:ExactlyOne>
</wsp:Policy>
此策略通知客户机,没有用于该服务的可接受策略配置。WSDL 的其他方面不受影响。

指示主题类型的图标 概念主题



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