快速业务通道

Java Web服务,第3部分: Axis2数据绑定 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
gt;    <wsdl:input message="wns:getBookRequest" name="getBookRequest"/>    <wsdl:output message="wns:getBookResponse" name="getBookResponse"/>   </wsdl:operation>   ...  </wsdl:portType>  <wsdl:binding name="LibrarySoapBinding" type="wns:Library">   <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>   <wsdl:operation name="getBook">    <wsdlsoap:operation soapAction="urn:getBook"/>    <wsdl:input name="getBookRequest">     <wsdlsoap:body use="literal"/>    </wsdl:input>    <wsdl:output name="getBookResponse">     <wsdlsoap:body use="literal"/>vi    </wsdl:output>   </wsdl:operation>   ...  </wsdl:binding>  ... </wsdl:definitions>

Java Web服务,第3部分: Axis2数据绑定(6)

时间:2011-04-09 IBM Dennis Sosnoski

实际的服务实现代码非常简单,即采用硬编码书籍清单填充图书馆实例。客户机代码按照 以下顺序执行一系列查询:

一个 getBook

一个 getTypes

两个 addBook,第二个返回尝试添加重复书籍 ID 的 SOAP 错误

一个 getBooksByType

示例间的实现细节有所差别,因为每个示例使用适合于其数据绑定的数据对象。除非专门 说明,否则所显示的所有代码对 Axis2 1.1.1 和 1.2 都完全一样。Axis2 1.3 版(撰写本 文时正在进行开发)要求对代码进行一些小的更改,因为其中与服务错误对应的生成异常类 的命令发生了变化。提供了两个版本的代码供下载(请参见下载部分)。

在本文中,我们将仅讨论客户机代码,不过提供的下载(请参见下载部分)包括了所有示 例的客户机和服务器代码以及 Ant 构建文件。接下来,让我们分析三个数据绑定框架对应的 客户机代码,了解每种方法的优缺点。

Axis2 数据绑定

ADB 是 Axis2 的数据绑定扩展。与其他数据绑定框架不同,ADB 代码仅可用于 Axis2 Web 服务。这个限制是 ADB 的一大局限,但也带来了一些好处。由于 ADB 与 Axis2 进行了 集成,因此其代码可针对 Axis2 要求进行优化。这方面的一个例子就是,ADB 构建于位于 Axis2 核心的 AXis 对象模型(AXis Object Model,AXIOM)文档模型(我们已在本系列的 前一篇文章中对此进行了讨论)之上。ADB 还提供了一些目前其他数据绑定框架所没有的增 强功能,包括自动附件处理。WSDL2Java 提供了对 ADB 代码生成的全面支持,其中包括生成 与 XML 模式组件对应的数据模型类。

ADB 模式支持具有一定的局限。在当前的 Axis2 1.2 版本中,这些局限包括模式功能, 如使用 maxOccurs="unbounded" 的组合器、使用 attributeFormDefault="qualified" 的模式定义和其他一些类似的变体。但 Axis2 1.2 ADB 模式支持比 Axis2 1.1 版要好得多,而且此支持 Axis2 框架的每个发布版 本将逐步改进,直到支持所有主要模式功能为止。

ADB 代码生成的基本形式是使用直接模型,其中包含与每个操作使用的输入与输出消息对 应的独立类。清单 5 显示了使用此基本 ADB 代码生成模式的示例应用程序的客户机代码中 最有意义的部分。此客户机代码说明了与 ADB 生成的类的交互,如用作 getBook() 方法调 用的参数的 GetBookDocument 和 GetBookDocument.GetBook 类以及用于从此调用获取返回 结果的 GetBookResponseDocument 和 BookInformati

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号