`

Axis2快速上手指南4

阅读更多
使用ADB生成一个客户端
执行以下步骤来使用Axis Data Binding(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中是怎样定义的。
Code Listing 10:ADBClient类
Java代码 复制代码
  1. package samples.quickstart.clients;  
  2.   
  3. import samples.quickstart.service.adb.StockQuoteServiceStub;  
  4.   
  5. public class ADBClient{  
  6.     public static void main(java.lang.String args[]){  
  7.         try{  
  8.              StockQuoteServiceStub stub =  
  9.                 new StockQuoteServiceStub  
  10.                  ("http://localhost:8080/axis2/services/StockQuoteService");  
  11.   
  12.              getPrice(stub);  
  13.              update(stub);  
  14.   
  15.          } catch(Exception e){  
  16.              e.printStackTrace();  
  17.              System.err.println("\n\n\n");  
  18.          }  
  19.      }  
  20.   
  21.     /* fire and forget */  
  22.     public static void update(StockQuoteServiceStub stub){  
  23.         try{  
  24.              StockQuoteServiceStub.Update req = new StockQuoteServiceStub.Update();  
  25.              req.setSymbol ("ABC");  
  26.              req.setPrice (42.35);  
  27.   
  28.              stub.update(req);  
  29.              System.err.println("done");  
  30.          } catch(Exception e){  
  31.              e.printStackTrace();  
  32.              System.err.println("\n\n\n");  
  33.          }  
  34.      }  
  35.   
  36.     /* two way call/receive */  
  37.     public static void getPrice(StockQuoteServiceStub stub){  
  38.         try{  
  39.              StockQuoteServiceStub.GetPrice req = new StockQuoteServiceStub.GetPrice();  
  40.   
  41.              req.setSymbol("ABC");  
  42.   
  43.              StockQuoteServiceStub.GetPriceResponse res =  
  44.                  stub.getPrice(req);  
  45.   
  46.              System.err.println(res.get_return());  
  47.          } catch(Exception e){  
  48.              e.printStackTrace();  
  49.              System.err.println("\n\n\n");  
  50.          }  
  51.      }  
  52.   
  53. }  

该类使用你创建的Axis Data Bindings创建一个客户端存根。然后它在Web服务上调用getPrice和update操作。getPrice方法操作创建
GetPrice有效载荷并设置symbol为ABC。然后它发送请求并显示当前价格。update方法创建一个Update有效载荷,设置symbol为ABC及
price为42.35。
现在通过在Axis2_HOME/samples/quickstartadb目录键入ant run.client来构建并运行客户端。
你应该得到以下输出:
Java代码 复制代码
  1. 42  
  2. 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,并在Code Listing 11看看它怎样定义的
Code Listing 11:XMLBEANSClient类
Java代码 复制代码
  1. package samples.quickstart.clients;  
  2.   
  3. import samples.quickstart.service.xmlbeans.StockQuoteServiceStub;  
  4. import samples.quickstart.service.xmlbeans.xsd.GetPriceDocument;  
  5. import samples.quickstart.service.xmlbeans.xsd.GetPriceResponseDocument;  
  6. import samples.quickstart.service.xmlbeans.xsd.UpdateDocument;  
  7.   
  8. public class XMLBEANSClient{  
  9.   
  10.     public static void main(java.lang.String args[]){  
  11.         try{  
  12.              StockQuoteServiceStub stub =  
  13.                 new StockQuoteServiceStub  
  14.                  ("http://localhost:8080/axis2/services/StockQuoteService");  
  15.   
  16.              getPrice(stub);  
  17.              update(stub);  
  18.   
  19.          } catch(Exception e){  
  20.              e.printStackTrace();  
  21.              System.err.println("\n\n\n");  
  22.          }  
  23.      }  
  24.   
  25.     /* fire and forget */  
  26.     public static void update(StockQuoteServiceStub stub){  
  27.         try{  
  28.              UpdateDocument reqDoc = UpdateDocument.Factory.newInstance();  
  29.              UpdateDocument.Update req = reqDoc.addNewUpdate();  
  30.              req.setSymbol ("ABC");  
  31.              req.setPrice (42.32);  
  32.   
  33.              stub.update(reqDoc);  
  34.              System.err.println("done");  
  35.          } catch(Exception e){  
  36.              e.printStackTrace();  
  37.              System.err.println("\n\n\n");  
  38.          }  
  39.      }  
  40.   
  41.     /* two way call/receive */  
  42.     public static void getPrice(StockQuoteServiceStub stub){  
  43.         try{  
  44.              GetPriceDocument reqDoc = GetPriceDocument.Factory.newInstance();  
  45.              GetPriceDocument.GetPrice req = reqDoc.addNewGetPrice();  
  46.              req.setSymbol("ABC");  
  47.   
  48.              GetPriceResponseDocument res =  
  49.                  stub.getPrice(reqDoc);  
  50.   
  51.              System.err.println(res.getGetPriceResponse().getReturn());  
  52.          } catch(Exception e){  
  53.              e.printStackTrace();  
  54.              System.err.println("\n\n\n");  
  55.          }  
  56.      }  
  57. }  
分享到:
评论

相关推荐

    Axis1,Axis2,Xfire,CXF区别

    XFire 还具有易于上手、快速发布服务、灵活的 Binding 机制等特点。 与 Axis1 相比,XFire 的性能有了质的提高,XFire 比 Axis1.3 快 2-6 倍,XFire 的响应时间是 Axis1.3 的 1/2 到 1/5。XFire 的灵活性更高,...

    axis2_WebService_开发指南

    Axis2是Apache软件基金会的一个用于构建和部署WebService的引擎,它基于Apache Axis项目,并且是Apache Web服务堆栈的...通过这个指南,开发者可以快速上手Axis2的使用,以及深入理解和应用其在各种场景下的强大功能。

    Axis_API和axis2_API

    4. **故障排除指南**:列出常见问题及其解决方案,帮助开发者解决在使用过程中遇到的问题。 了解了Axis和Axis2的基本概念后,我们可以进一步研究压缩包中的"Axis和Axis2的API"文件。这些文件可能包含上述提到的API...

    axis2-1.7.9

    - `samples`目录:可能包含了一些示例服务和使用指南,帮助初学者快速上手。 了解了这些基础知识后,开发者可以利用Apache Axis2 1.7.9创建高效率、可扩展的Web服务,同时享受其强大的功能和灵活性。在实际项目中,...

    axis2包含axis2-1.4.1-war.zip和axis2-1.4.1-bin.zip

    - `README.txt`:通常包含快速安装指南、基本操作和一些重要的提示,帮助用户快速上手使用Axis2。 Axis2的核心特性包括: - **模块化**:Axis2允许通过模块进行功能扩展,模块可以独立于服务存在,提高代码复用性...

    Axis2-1.6.2.war

    4. **文档**:可能会包含用户指南、API参考文档和其他技术文档,解释了Axis2的用法和配置选项。 5. **源代码**:如果标记正确,那么会有一系列的源代码文件,这包括了Axis2的实现,开发者可以研究并学习其设计和...

    Axis2完美例子Demo

    "经典实例,工程导入就能用"意味着这是一个可以直接运行的项目,无需过多的设置,这对于初学者或开发者快速上手Axis2非常有帮助。 【标签】"Axis2"、"myeclipse"和"例子"、"jar"揭示了几个关键概念。Axis2是Apache...

    axis2-1.7.zip

    4. **lib**:包含Axis2运行时依赖的JAR库。 5. **repository**:Axis2的存储库,存放服务、模块和其他资源。 6. **samples**:可能包含示例Web服务和教程,帮助用户快速上手。 7. **docs**:可能包含API文档和用户...

    axis2-1.5.6-bin.rar

    4. **示例和服务**:可能包含一些预打包的示例Web服务,帮助用户快速上手和理解如何在Axis2中部署和调用服务。 5. **文档**:包括用户手册、开发者指南和API文档,帮助开发者了解如何使用和扩展Axis2。 6. **模块**...

    axis2&axis教程资料

    - "axis2&axis教程资料"可能包含了关于这两个框架的详细教程、示例代码和最佳实践,可以帮助初学者快速上手。 - 在线文档:Apache官方提供了详细的 Axis2 和 Axis 文档,包括用户指南、开发者指南和API参考。 7. ...

    axis2-1.4.1-bin

    - **samples**目录:包含示例服务和客户端应用,帮助开发者快速上手。 - **repository**目录:存储服务、模块和依赖的仓库。 - **docs**目录:可能包含API文档和用户指南。 通过解压并探索这个“axis2-1.4.1-bin”...

    Axis1.4开发指南

    - **DEMO分析**:指南中提供的DEMO将演示如何创建、部署和调用Web服务,以及如何处理响应,这些实例有助于开发者快速上手。 - **问题解决**:通过实例,开发者可以学习到常见问题的解决方法,比如命名空间问题、...

    axis2-1.5.4-war.zip 官网下载

    3. **README.txt** - 这个文件通常包含关于如何安装、配置和使用软件的基本指南,对于快速上手Axis2 1.5.4的部署和配置非常有帮助。 4. **NOTICE.txt** - 通知文件,列出在软件中使用的第三方组件及其各自的版权信息...

    APACHE AXIS2

    - **在线教程和示例代码**:帮助快速上手并深入理解Axis2的工作原理和实践技巧。 总之,Apache Axis2是一个强大且灵活的Web服务框架,为企业级应用提供了一套完善的解决方案,无论是对于初学者还是有经验的开发者,...

    Quickstart Apache Axis2

    通过阅读“Quickstart Apache Axis2.pdf”,你可以逐步掌握这些概念并实践操作,从而快速上手Apache Axis2的使用。"E书说明.txt"可能包含了关于PDF文档的阅读和使用提示,而"阅读器下载.htm"可能是推荐的PDF阅读器...

    AXIS入门指南-webservice

    【AXIS入门指南-webservice】 本指南旨在为初学者提供AXIS框架下开发WebService的详细步骤,涵盖了从获取开发资源、生成 stub、编写服务器端代码到客户端测试的全过程。AXIS是一个开源的Java库,它提供了创建、部署...

    Packt - Quickstart Apache Axis2 .rar

    总的来说,《Packt - Quickstart Apache Axis2》是一本全面的指南,涵盖了从基础到高级的Apache Axis2知识,适合想要快速上手并深入理解Web服务开发的开发者。通过阅读本书,读者将能够熟练地运用Apache Axis2构建...

    axis-bin-1_4.rar

    2. ** 示例和教程**:可能包括示例代码和文档,帮助用户快速上手。 3. ** Ant构建脚本**:Ant是Java项目常用的构建工具,Axis可能提供了Ant任务来简化服务的构建和部署。 4. ** 配置文件**:如server.xml或axis....

Global site tag (gtag.js) - Google Analytics