WEB开发网
开发学院软件开发Java Java Web 服务,第 2 部分: 深度探索 Axis2:AXIO... 阅读

Java Web 服务,第 2 部分: 深度探索 Axis2:AXIOM

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 尽管基本的 SOAP 包装非常简单,但是通过使用称为 Header 的可选组件,Java Web 服务,第 2 部分: 深度探索 Axis2:AXIOM(2),它提供了不受限制的扩展能力,Header 为添加各种各样的元数据提供了合适的位置,在对清单 2 的消息进行处理的过程中,甚至可以进行存储

尽管基本的 SOAP 包装非常简单,但是通过使用称为 Header 的可选组件,它提供了不受限制的扩展能力。Header 为添加各种各样的元数据提供了合适的位置,这些元数据与应用程序数据在一起,不会被应用程序看到(可以 在 Header 中包括应用程序数据,但是这样做并不是很合理,您应该将应用程序数据放在消息的正文部分)。构建于 SOAP 之上的扩展(如整个 WS-* 系列),可以使用 Header 实现相应的目标,而不会对应用程序造成任何影响。这允许将扩展作为外接程序使用,可以在部署时选择某个应用程序所需的特定扩展功能,而无需在代码中对其进行处理。

清单 2 显示了与清单 1 SOAP 示例相同的应用程序数据,但其中包括 WS-Addressing 信息。尽管原始的 SOAP 消息只能用于 HTTP 传输(因为 HTTP 提供了双向的连接,使得响应可以立即发送回客户端),但清单 2 中的版本可以用于其他协议,因为 SOAP 请求消息中直接包括了响应元数据。在对清单 2 的消息进行处理的过程中,甚至可以进行存储转发操作,因为这些元数据同时提供了请求目标和响应目标信息。


清单 2. 使用 WS-Addressing 的 SOAP 示例

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:wsa="http://www.w3.org/2005/08/addressing"> 
 <soapenv:Header> 
  <wsa:To>http://localhost:8800/axis2/services/SeisAxis2XBean</wsa:To> 
  <wsa:ReplyTo> 
   <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> 
  </wsa:ReplyTo> 
  <wsa:MessageID>urn:uuid:97AE2B17231A8584D811537402403691</wsa:MessageID> 
 </soapenv:Header> 
 <soapenv:Body> 
  <matchQuakes xmlns="http://seismic.sosnoski.com/types"> 
   <min-date>2000-03-28T13:13:08.953Z</min-date> 
   <max-date>2001-03-11T02:26:54.283Z</max-date> 
   <min-long>-81.532234</min-long> 
   <max-long>65.25895</max-long> 
   <min-lat>-14.234512</min-lat> 
   <max-lat>57.174187</max-lat> 
  </matchQuakes> 
 </soapenv:Body> 
</soapenv:Envelope> 

上一页  1 2 3 4 5 6 7  下一页

Tags:Java Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接