当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

Java Web服务,第2部份: 深度摸索Axis2:AXIOM[Java编程]

赞助商链接



  本文“Java Web服务,第2部份: 深度摸索Axis2:AXIOM[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

为什么需求另一种文档模子?

Apache Axis2 1.1 已经公布,它为那些长期运行 Apache Web 服务框架系列的忠厚用户供应了令人高兴的新特点.我们将在后续的文章中谈论关于 Axis2 的内容,本文将深化研究 AXIs 对象模子 (AXIOM) XML 文档模子,这是 Axis2 的核心.AXIOM 是 Axis2 中一个主要的创新,并且是 Axis2 可以比本来的 Axis 供应更好性能的缘由之一.本文将向您介绍 AXIOM 的工作原理、Axis2 的各个部份若何构建于 AXIOM 之上,以及 AXIOM 与其他的 Java™ 文档对象模子的性能对比.

文档模子普通用于对 XML 举行处理,并且在 Java 开辟中有很多差别的文档模子可供利用,包含原始 W3C DOM 标准的各种实现、JDOM、dom4j、XOM 等等.每种模子都声称与其他模子相比具有某些长处,要末是在性能、机动性方面,要末是在严峻服从 XML 尺度的程度方面,并且每种模子都拥有忠厚的支持者.那么,Axis2 为什么需求一种新的模子呢?答案在于 SOAP 消息的构造,特别是如安在基本的 SOAP 框架中增添呼应的扩大.

SOAP 简介

SOAP 本身仅仅只是 XML 利用程序负载的简单包装.清单 1 供应了一个示例,此中只有那些具有 soapenv 前缀的元素才真恰是 SOAP 中定义的.文档中大部份是利用程序数据,这些数据构成了 soapenv:Body 元素的内容.

清单 1. SOAP 示例

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 <soapenv:Header/>
 <soapenv:Body>
  <matchQuakes xmlns="http://seismic.sosnoski.com/types">
   <min-date>2001-01-06T11:10:43.446Z</min-date>
   <max-date>2001-10-24T19:49:13.812Z</max-date>
   <min-long>-150.94307</min-long>
   <max-long>-22.594208</max-long>
   <min-lat>-11.44651</min-lat>
   <max-lat>55.089058</max-lat>
  </matchQuakes>
 </soapenv:Body>
</soapenv:Envelope>

固然基本的 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>


  以上是“Java Web服务,第2部份: 深度摸索Axis2:AXIOM[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .