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
后一篇文章写的很好,只不过例子是微软环境下的。
分享到:
相关推荐
WS-Addressing
w3c发布地ws-addressing标准,包括endPointReference 和message information header
Laravel开发-laravel-addressing 提供寻址功能的Laravel包
官方版本,亲测可用
PCI-Express-5-Update-Keys-to-Addressing-an-EvolvingSpecification
JAX-WS API,用于Web服务开发 WSDL优先工具 Java优先支持 JAX-RS (JSR 311 1.0) API,用于RESTfulWeb服务开发 JavaScript编程模型,用于客户端和服务端开发 Maven工具 支持CORBA HTTP和JMS传输层 可嵌入的...
Cisco IOS IP Command Reference, Volume 1 of 4 -- Addressing and Services
信息安全_数据安全_AppSecEU2016-Daniel-Kefer-Addressing-S 可信编译 漏洞分析 数据分析 定向攻击 云数据库
WS攻击者 ... WS-Addressing欺骗:请参阅 XML签名包装:请参阅 基于XML的DoS攻击:请参阅 新的自适应和智能拒绝服务攻击(AdIDoS) XML加密攻击:有关攻击和攻击的一般概述,请参见此博客文章( )。进
Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL ...
Rudy's Delphi Corner - Addressing Pointers.pdf
计算机组成与结构:lecture 11 Instruction Sets-Addressing Modes and Formats.pdf
Networkers2009:BRKNMS-1340 - Addressing the Payment Card Industry (PCI) standard version 1.2 with Cisco Solutions
官方版本,亲测可用
composer require galahad/laravel-addressing 基本用法 国家 $ country = Addressing :: country ( 'US' ); echo $ country -> getName (); // "United States" echo $ country -> getCountryCode (); // "US" ...
Autonomous addressing protocols require a distributed and self-managed mechanism to avoid address collisions in a dynamic network with fading channels, frequent partitions, and joining/leaving nodes....
When Safety is Key: Addressing Safety Criticality in Modern Industrial and Transportation Systems
2. Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 ...
When Safety is Key: Addressing Safety Criticality in Modern Industrial and Transportation Systems
Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL...