快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
可在即使直接使用 XML 的情况下生成存根类。这种情况下生成的存 根与数据绑定示例类似,但其中传递的是 AXIOM 元素而不是数据对象。

服务器链接代码

Axis2 的服务器端链接代码是作为 Axis2 服务器配置的一部分定义的消息接收器类。此 消息接收器必须实现 org.apache.axis2.engine.MessageReceiver 接口。此接口定义单个 void receive(org.apache.axis2.context.MessageContext) 方法。在接收到请求消息时, Axis2 框架将调用此方法,然后由此方法负责处理请求的所有处理工作(包括在合适的情况 下生成响应)。

如果直接使用 XML(采用 AXIOM 元素的形式),则可以利用服务器端链接的标准 org.apache.axis2.receivers.RawXML*MessageReceiver 类之一(其中 * 描述服务使用的消 息交换类型)。否则,就可以使用生成的消息接收器类,其在基于 Axis2 AXIOM 的接口和使 用数据对象的服务代码之间进行适配。此服务代码以框架实现的形式生成,其中包含直接引 发异常的服务方法。您需要向框架添加自己的代码,以完成服务器端挂钩。

清单 3 显示了服务端框架的示例(为了便于阅读,进行了格式调整),其中的 getBook () 方法保持生成时的原样,getTypes() 方法通过委托到实际实现类进行实现。

清单 3. 服务器框架示例public class LibrarySkeleton {   private final LibraryServer m_server;   public LibrarySkeleton() {     m_server = new LibraryServer();   }   /**    * Auto generated method signature    *    * @param isbn    * @return book value    */   public com.sosnoski.ws.library.Book getBook(java.lang.String isbn) {     //Todo fill this with the necessary business logic     throw new java.lang.UnsupportedOperationException("Please implement " +       this.getClass().getName() + "#getBook");   }   /**    * Get the types of books included in library.    *    * @return types    */   public com.sosnoski.ws.library.Type[] getTypes() {     return m_server.getTypes();   } }

直接向此类添加代码的缺点在于,如果服务器接口更改,则需要重新生成此类并包含更改 。可以通过添加扩展生成的框架的独立实现类来避免这种情况,从而能在不更改生成的代码 的情况下重写框架方法。为此,需要对生成的 services.xml 服务描述进行更改。所需的工 作很简单,直接使用实现类名称替换框架类名称即可。本文稍后将讨论的数据绑定示例全部 使用独立的实现类方法。可以在下载部分获得这些示例 Ant build.xml 文件,以了解如何自 动进行替换。

Axis2 工具

Axis2 提供了一系列工具来帮助开发人员使用此框架。其中最重要的是允许从 WSDL 服务 定义生成 Java 链接代码(在下面讨论)的工具和从现有 Java 代码生成 WSDL 服务定义的 工具。

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

时间:2011-04-09 IBM Dennis Sosnoski

从 WSDL 生成代码

Axis2 提供了 WSDL2Java 工具,用于从 WSDL 服务定义生成代码。可以通过将 org.apache.axis2.wsdl.WSDL2Java 类作为 Java 应用程序运行来直接使用此工具,也可以 通过 Ant 任务、Maven 插件或 Eclipse 或 IDEA 插件。拥有这么多选择的缺点在于,从功 能和错误修补方面而言,备选方案通常滞后于基本 Java 应用程序,因此通常可能最好直接 运行 Java 应用程序(本文将对此进行讨论)。

WSDL2Java 提供很多不同的命令行选项,而且选项的数量还会随着时间的增加而增加。 Axis2 文档包括了选项的完整参考,这里将仅仅讨论一些最为重要的内容:

-o path — 设置用于输

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号