java中Axis2生成客户端方式

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

创建客户端
在这个部分,我们将看看基于StockQuoteService类创建客户端的四种方式:

构建基于AXIOM的客户端;

使用Axis2 Databinding Frame work(ADB)生成客户端;

使用XMLBeans生成客户端;

使用JiBX生成客户端。

 

     ADB:最简单的生成Axis客户端的方法。大部分情况下,这些主要的类都会以内部类的形式创建在stub类中。It is not meant to be a full schema binding application, and has difficulty with structures such as XML Schema element extensions and restrictions。
     XMLBeans:与ADB不同,他是一个全功能的schema编译器。他没有ADB的限制。然而,他也比ADB用起来更复杂。他会产成大量的文件,编程模型不如ADB直观。
     JiBX:他是一个数据绑定框架。他不仅提供了WSDL-JAVA的转换,而且提供了JAVA-XML的转换。JiBX相当灵活,允许你选择类来代表你的实体,但是这个却不好做,但还句话说,如果这些都能建好,那么使用JiBX就更使用ADB一样容易。

    对于简单应用来说ADB已经够用了,如果想用更加强大更加灵活的功能,那么你可能需要使用其他两种方式。

使用AXIOM创建一个客户端 
    Axis2使用AXIOM,或者AXIs Object Model,一个基于StAX API(Streaming API for XML)的DOM(Document Object Model)类似的结构.这里你为服务的update和getPrice方法建立有效载荷。有效载荷的创建类似于你为AXIOM服务创建getPriceResponse有效载荷。然后你创建Options类,并创建用来与服务交流的ServiceClient。首先你调用update方法,一个什么也不返回的fireAndForget方法。最后你调用getPrice方法,并从服务得到当前价格并显示它。
   现在你可以通过在Axis2_HOME/samples/quickstartaxiom目录键入ant run.client构建并运行AXIOM客户端。
你应该得到以下输出:

done  

Current price of WSO: 123.42  

使用ADB生成一个客户端
通过在Axis2_HOME/samples/quickstartadb目录键入以下命令来生成客户端数据绑定:
%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d adb -s -o build/client
或者在Axis2_HOME/samples/quickstartadb目录简单的键入ant generate.client
下一步看看quickstartadb/src/samples/quickstart/clients/ADBClient.java,并看看它在Code Listing 10中是怎样定义的。
    该类使用你创建的Axis Data Bindings创建一个客户端存根。然后它在Web服务上调用getPrice和update操作。getPrice方法操作创建GetPrice有效载荷并设置symbol为ABC。然后它发送请求并显示当前价格。update方法创建一个Update有效载荷,设置symbol为ABC及price为42.35。
   现在通过在Axis2_HOME/samples/quickstartadb目录键入ant run.client来构建并运行客户端。
你应该得到以下输出:
    42  

    done  

使用XMLBeans生成一个客户端
执行以下步骤来使用XMLBeans数据绑定来构建一个客户端。
通过在xmlbeansClient目录键入以下命令来生成数据绑定:
%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -o build/client
或者简单的在Axis2_HOME/samples/quickstartxmlbeans目录下键入ant generate.client
注意这只会创建客户端存根代码而不会创建服务器端代码。
下一步看看quickstartxmlbeans/src/samples/quickstart/clients/XMLBEANSClient.java,该类使用你创建的XMLBeans数据绑定创建一个客户端存根,然后它在Web服务上调用getPrice和update操作。getPrice方法操作创建GetPriceDocument,它内部的GetPrice类,并设置symbol为ABC。然后它发送请求并得到GetPriceResponseDocument并显示当前price。
update方法创建一个UpdateDocument和Update并设置symbol为ABC及price为42.32,当完成时显示done。
现在通过在Axis2_HOME/samples/quickstartxmlbeans目录键入ant run.client构建并运行工程。
你应该得到下列输出:
    42  

    done  

使用JiBX生成一个客户端
执行以下步骤来使用JiBX构建一个客户端。
通过在Axis2_HOME/samples/quickstartjibx目录的控制台键入以下命令来生成客户端存根:

代码
  1. %AXIS2_HOME%/bin/wsdl2java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d jibx -s  
  2. -uw -o build/client  
ant generate.client"。
下一步看看quickstartjibx/src/samples/quickstart/clients/JiBXClient.java。该类使用创建的JiBX客户端存根在Web服务上访问getPrice和update操作。getPrice方法为股票"ABC"发送请求并显示当前price。
update方法为股票"ABC"设置价格为42.35。
现在通过在Axis2_HOME/samples/quickstartjibx目录的控制台键入" ant run.client[b]"来构建并运行客户端。
你应该得到以下输出:
    42  

   done  

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值