您的位置:首页 > 其它

WS-Addressing协议学习笔记

2008-07-11 08:37 309 查看
WS-Addressing的产生原因

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

协议的要点

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

协议中有两个新的概念:端点引用(Endpoint reference)和SOAP 结构的 消息信息(message information,MI)头。这两个概念对于我们理解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

后一篇文章写的很好,只不过例子是微软环境下的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: