`
isiqi
  • 浏览: 16072676 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

WS-Addressing协议学习笔记

阅读更多

WS-Addressing的产生原因

我理解认为有三点:请求和回复使用不同的传输协议;异步的信息交互方式;提供有状态的对话方式的Web Service。这三个要求都是随着企业应用发展对Web Service提出的新的需求。

协议的要点

WS-Addressing提供了一种可以使得服务消费者(cosumer)和服务发布者(provider)之间进行对话的机制。这种机制对于大多数开发者来说,只需要简单的配置就可以了。对于Web Service容器的提供方需要实现这个规范的细节。

协议中有两个新的概念:端点引用(Endpoint reference)和SOAP 结构的 消息信息(message informationMI)头。这两个概念对于我们理解WS-Addressing的实现有意义,实际开发过程中不会涉及到这两个概念。如果感兴趣,可以使用一些Web Service或者网络Sniffer之类的工具查看SOAP报文。

端点引用(EPR

端点引用可以理解为提供一个服务回调的机制,这个机制的最简单的形式是一个XML元素包装的URL。通过这个引用,客户应用端可以知道下一次该和哪个服务实例对话。

消息信息头(MI header

Web 服务寻址(WS-Addressing)规范定义了一些附加的(当然,也是标准的)SOAP 头,它们应该用于帮助传送关于消息的信息。

WS-Addressing实例

CXF里面提供了一个基于WS-Addresing的例子,可以供大家学习使用。

安装完CXF,在cxf目录下有个samples/ws-addressing的目录,按照readme.txt指导编译执行就可以了。CXF配置WS-addressing是比较简单的,只要在CXF的配置文件中加入如下配置:

<cxf:bus>

<cxf:features>

<wsa:addressing/>

</cxf:features>

</cxf:bus>

就可以使用CXF提供WS-Addressing的功能了。在有兴趣专研的朋友,可以看看CXF的源代码研究一下WS-Addressing的实现。

作为WS-Addressing的发起者,BEA的weblogic提供对该协议的支持还是比较早的,9.1版本后就支持这个规范了。10版本支持的说明的链接如下:

http://e-docs.bea.com/wls/docs100/webserv/overview.html#wp210062

在BEA Web Service的异步调用模型中提到了对该协议的应用。不过对于该规范支持的配置细节,我还没有查到。

参考文章

http://www.ibm.com/developerworks/cn/webservices/ws-address.html

http://www.cnblogs.com/idior/archive/2006/06/28/431017.html

后一篇文章写的很好,只不过例子是微软环境下的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics