快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

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

时间:2011-04-09 IBM Dennis Sosnoski

相关文章:

Java Web服务,第1部分: Java Web服务在未来一年内的发展

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

Apache Axis2 Web 服务框架一开始就设计用于支持多种 XML 数据绑定方法。当前的版本 提供对 XMLBeans 和 JiBX 数据绑定以及专门针对 Axis2 开发的自定义 Axis 数据绑定 (Axis Data Binding,ADB)的全面支持。本文将说明如何将这些不同的数据绑定方法与 Axis2 结合使用,并说明为什么可能会为应用程序优先选择其中的一种方法。

尽管 XML 消息交换是 Web 服务的核心,但大部分 Web 服务应用程序都不会对 XML 的问 题进行考虑。相反,这些应用程序希望交换特定于应用程序的业务数据。在这种情况下,XML 仅仅是用于表示业务数据以支持 Web 服务接口的一个格式而已。XML 可很好地满足此用途, 因为它提供了独立于平台的表示形式,可供各种工具进行处理。但应用程序最终需要将 XML 转换为其内部数据结构(或反向转换),以便在应用程序内使用此数据。

数据绑定 是指处理 XML 和应用程序数据结构间的这种转换的技术。可以为应用程序编写 自定义数据绑定代码,但大部分开发人员发现使用数据绑定框架更为方便,此类框架将以通 用的方式处理此转换工作,适用于各种应用程序。Apache Axis2 Web 服务框架的一个主要优 势在于,此框架从最开始就设计为使用各种数据绑定框架。可以选择最适合您的需求的数据 绑定方法,并使用此方法来处理 XML 与数据结构间的转换,同时使用 Axis2 框架(及扩展 )来处理实际的 Web 服务工作。

本文将通过使用三个受支持的不同数据绑定实现的同一个 Web 服务的示例代码说明如何 使用 Axis2 提供的数据绑定灵活性。可以通过其中了解为何可能会优先选择其中某个数据绑 定。

链接到 Axis2

在本系列的前一篇文章中,我们已经了解了 Axis2 用于 XML 消息绑定的 AXIOM 文档模 型。AXIOM 与其他文档模型的不同之处在于,它支持根据需要绑定模型,而不用一次性完成 此工作。当使用数据绑定框架在 XML 和应用程序数据结构之间进行转换时,数据绑定 XML 通常只是 AXIOM 文档模型的一个虚拟部件。除非由于某些原因而需要此模型(用于使用 WS -Security 进行加密或签名时),否则就不会扩展为完整文档模型。

为了隔离应用程序,避免直接使用 AXIOM 的情况,Axis2 支持从 Web 服务描述语言 (Web Services Description Language,WSDL)服务描述生成链接代码。所生成的链接代码 使用所选数据绑定框架处理数据结构与 XML 之间的转换细节,让您的应用程序直接访问数据 结构。Axis2 还从另一方面提供了有一定限制的支持,从现有代码生成 WSDL。

Axis2 可为服务客户机和服务提供者生成链接代码。客户机链接代码采用存根类的形式, 始终从 Axis2 org.apache.axis2.client.Stub 类进行扩展。提供者(或服务器)链接代码 采用服务特定的实现框架的形式提供,并提供实现 org.apache.axis2.engine.MessageReceiver 接口的消息接收器类。客户机和服务器链接代 码生成工作都由 WSDL2Java 工具进行处理。接下来,我们将了解实际的链接代码,然后将详 细讨论如何使用 WSDL2Java 工具,最后将简单说明如何从现有代码着手进行相关工作。

客户机链接代码

客户端存根代码为应用程序代码定义访问方法,以调用服务操作。首先要创建存根类的实 例,通常使用缺省构造函数(如果服务端点总是与用于生成存根的 WSDL 中定义的端点相同 ),或使用接受以字符串形式提供的其他端点引用的构造函数进行此工作。创建了存根的实 例后,可以选择使用 org.apache.axis2.client.Stub 基类定义的方法来配置各个功能。然 后可以调用服务特定的访问方

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