支持总线的 Web Service:已知限制

使用支持服务集成总线的 Web Service 时,存在少量的已知限制。

通过服务集成总线传递 SOAP 头

如果服务的 WSDL 在 <wsdl:definition> 元素中包含 <soap:header> 元素,那么总线会传递 SOAP 头。该行为正确。但是,也会导致下列结果:
  • 在服务集成技术生成的 WSDL 中不包括 SOAP 头。
  • 如果在 SOAP 消息中设置了“必须理解”标志,那么会获取错误消息。

有关支持带有附件的 SOAP 的限制

服务集成总线支持满足以下条件的 SOAP 消息:这些 SOAP 消息包含旧样式的附件(如 SOAP with attachments W3C Note 中所述)或者包含使用 Web Services-Interoperability (WS-I) Attachments Profile V1.0 的附件。如果需要将附件从一种样式变换为另一种样式,那么可以使用调解在两种附件编码样式之间进行映射

对于 WebSphere® Application Server 主管的 Web Service,如果该服务的某个操作在其请求消息中没有附件但在其响应消息中返回了附件,那么支持总线的 Web Service 将无法调用该 Web Service。

也不支持下列情况:
  • 使用 DIME。
  • 使用 mime:mimeXml WSDL 标记。
  • mime:part 内嵌套 mime:multipartRelated
  • 使用 DataHandlers 的数组或向量以及图像等等。
不为已引用的附件保留入局消息的 MIME 头。出局消息对 Content-TypeContent-IdContent-Transfer-Encoding 包含新的 MIME 头。

如果通过服务集成总线传递大型附件,那么在 Java™ 虚拟机中可能会产生内存不足错误。要解决此问题,应增大 JVM 堆大小,如启用调整总线的 Web Service 中所述。

有关更多信息,请参阅通过服务集成总线来传递带有附件的 SOAP 消息

JAAS 主体集凭证令牌不保证可用于出站服务。

在使用 WS-Security 时,如果 JAAS 主体集凭证集的下列内容是在入站服务请求的处理过程中设置的,那么这些内容不保证可供出站服务上运行的代码使用:
  • 不可序列化的内容。
  • 任何实现了 com.ibm.wsspi.security.token.Token 或其任何子接口并且未将 forwardability 属性设置为 true 的令牌。

例如,如果在应用于入站端口的 WS-Security 配置和绑定中配置了定制令牌使用者,并且令牌使用者在 JAAS 主体集的私有凭证中设置了令牌,该令牌实现了 com.ibm.wsspi.security.token.Token 并将 forwardability 属性设置为 false,那么相应出站端口 WS-Security 配置和绑定中配置的任何定制令牌生成者都不应该依赖于该令牌包含在 JAAS 主体集中。

是否允许格式不良的 SOAP 消息

WebSphere Application Server V5.1 相比,支持总线的 Web Service 将更彻底地检查 Web Service 消息的有效性。因此,某些使用了格式不良的请求或响应(消息部件的名称不正确)的客户机应用程序能够在 V5.1 中正常运行,但在更高版本中却被识别为格式不良。

支持总线的 Web Service 支持应用程序生成消息部件名称不正确的消息,前提是这些消息仍符合模式的一般格式。借助此支持就可以实现:
  • 总线可以接受格式不良的消息。
  • 总线可以生成格式不良的消息。
对于输出消息,仅当输入消息格式不良并且不必由支持总线的 Web Service 重写时,才会生成格式不良的消息。每当支持总线的 Web Service 必须重写消息时(例如,由于该消息已被调解修改),它们将使用 WSDL 文档中定义的各个消息部件的正确名称来生成格式良好的 SOAP 消息。在任何一种情况下,如果服务或客户机依赖于名称不正确的响应消息部件名,请修改客户机或者重构与支持总线的 Web Service 相关联的 WSDL,以使部件名与应用程序期望的部件名匹配。
注: 只容许使用不正确的部分名。不容许使用不正确的操作名称或不正确的部分结构。

对先前的 WS-Security 草稿版规范的支持中存在的局限性

服务集成技术不支持先前版本 WebSphere Application Server 中的一般 Web Service 支持所支持的各个 WS-Security 草稿规范版本。服务集成技术仅支持“OASIS Web Service 安全性 V1.0 规范”、“Username 令牌 V1.0 概要文件”和“X.509 令牌 V1.0 概要文件”。有关这些受支持的规范和概要文件的更多信息,请参阅OASIS 规范中支持的功能

使用 WS-Security 来与服务集成技术交互的所有客户机应用程序和目标服务还必须符合这些规范中受支持的级别。符合 WS-Security 草稿版规范的先前支持版本的客户机应用程序和目标服务不能与服务集成技术交互,这是因为带有 WS-Security 的 SOAP 消息的有线格式在 OASIS Web Service 安全性 V1.0 规范中已更改,并且与先前的草稿版规范不兼容。

与通过 JAX-RPC 客户机应用程序重定目标的服务所使用的 Java 类型有关的局限性

通过从 JAX-RPC 客户机直接通过总线发送 Web Service 消息将消息传递到目标处的服务集成总线时,在可以使用的 Java 类型方面存在一些局限性。

您只能对限制了类型的服务重定目标,这些类型用于已在 JAX-RPC 规范中定义了映射的那些服务的接口。这限制了对于在 WSDL 文档中可以使用的部分 XML 模式的支持。例如,如果接口具有映射至 SOAPElement 的任何元素,就不能通过总线对它重定目标。

配置出站服务以使用 WSDL 端口

当您配置出站服务以使用启用了 EJB 绑定的 WSDL 端口时,服务集成技术通过因特网 ORB 间协议 (RMI-IIOP) 使用“远程方法调用”来调用服务。但是,所有传递至企业 Bean 的类必须显示在 WebSphere Application Server 类路径中。例如:
  • 如果您传递类型为 Address 的对象,那么该类以及在 Address 对象内序列化的所有对象的类都必须显示在 WebSphere Application Server 类路径上。
  • 如果企业 Bean 上的方法的特征符包含 java.util.List 对象并且期望该列表是 Address 对象的列表,那么 Address 类必须在 WebSphere Application Server 类路径中。

指示主题类型的图标 参考主题



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