在 WebSphere Enterprise Service Bus 和 WebSphere Process Server V6.0.2 中操作 SOAP Header

本文首先将提供一些关于 SOAP Header 及不同类型 SOAP Header 的背景信息。然后将说明 SOAP Header 如何在 IBM® WebSphere® Enterprise Service Bus 中作为服务消息对象(Service Message Object,SMO)的一部分进行表示。介绍了一些您需要了解的基础中介模块概念后,文章最后将介绍如何使用 WebSphere Enterprise Service Bus 中提供的中介基元对 SOAP Header 进行操作,以及如何使用 SOAP Header 的内容来进行路由决策和充实服务请求。

基础

本文假定您具有 WebSphere Integration Developer、WebSphere Enterprise Service Bus 或 WebSphere Process Server V6.0.2 的基本知识。另外,对 Web 服务和 SOAP 之类的概念有基本的了解也会有所帮助,当并不是必须的。

什么是 SOAP Header?

SOAP 规范(请参见参考资料部分提供的链接)将 SOAP Header 定义为“一种扩展机制,用于提供在 SOAP 消息中传递应用程序有效负载之外的信息的方法”。大家所熟知的 WS-Security(有关更多信息,请参见参考资料)之类的 Header 传递关于消息的控制信息,但还可以使用自定义 Header 来传递其他非业务信息。这里的关键点在于,不应在 SOAP Header 中传递业务信息,而应将其放入消息主体(或有效负载)中。

隐式或显式?

SOAP Header 可以为隐式或显式的:

  • 显式 Header 在用于描述服务接口的 Web 服务描述语言(Web Services Description Language,WSDL)文档(请参见参考资料中提供的链接)中显式定义。
  • 隐式 Header 仍然包括在消息中,但没有 WSDL 定义。

无论使用隐式还是显式 SOAP Header,其在 WebSphere Enterprise Service Bus 内的表示形式都是一样的。不过,如果使用隐式 SOAP Header,则需要通过业务对象定义的方式向 WebSphere Enterprise Service Bus 提供 Header 结构的定义。(本文稍后将对此进行更为详细的说明。)

 IBM developerWorks 中国

请点击此处查看全文

你可能感兴趣的:(在 WebSphere Enterprise Service Bus 和 WebSphere Process Server V6.0.2 中操作 SOAP Header)