微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice客户端调用方式

这一篇介绍客户端调用方式
方法1)手动写客户端代码

             这里不做介绍了,可阅读我的博客http://www.voidcn.com/article/p-atpbtmve-bgw.html方法2)脚本生成方式

           配置环境变量:AXIS2_HOME     C:\Users\abc\Downloads\axis2-1.6.2-bin\axis2-1.6.2

           path 增加 %AXIS2_HOME%\bin

          cd  myaxis(项目所在的目录)。
          执行:wsdl2java -uri http://localhost:9080/axis2/services/sayHello?wsdl -p ws-s -o myaxis
          -p参数指定了生成java类的包名
         -o参数指定了生成的一系列文件保存的根目录

         myaxis是我项目名称

         注意若这里出现了一个问题:生成的SayHelloStub.java报编译错 org.apache.axis2.client.Stub找不到

        需要引入axis2-1.6.2\bin所有的jar即可。

        编写客户端代码

[java]  view plain copy
  1. public class TestClient {  
  2.   
  3.     /** 
  4.      * @param args 
  5.      */  
  6.     static void main(String[] args) {  
  7.         try {  
  8.             //首先创建实例,内部类,为每个方法创建一个内部类  
  9.             SayHelloStub shs=new SayHelloStub();  
  10.             SayHelloStub.SayHello sh=new SayHelloStub.SayHello();  
  11.             sh.setName("大兵哥");  
  12.             System.out.println(shs.sayHello(sh).get_return());  
  13.         } catch (Exception e) {  
  14.             e.printstacktrace();  
  15.         }  
  16.     }  
  17.   
  18. }  
方法3)eclipse自动生成客户端
           new Web Service Client 。输入wsdl地址,自动生成stub,proxy一些文件
           再书写客户端代码。此方法比较方便。但建议初学者首先用方法1。

          

一路next即可。这样会在你项目中生成

一系列java文件


            一般生成五个文件,要是缺少了,和你services.xml中服务名字有一定的关系。我也设置好几个才可以了。(我的设置为ttt)

客户端测试代码如下:   

copy
    import java.rmi.remoteexception;  
  1. import org.apache.axis2.AxisFault;  
  2. import bingbing.TttPortTypeProxy;  
  3.                  //代理对象  
  4.                  TttPortTypeProxy proxy=new TttPortTypeProxy();  
  5.             System.out.println(proxy.sayHello("大兵哥"));  
  6. catch (remoteexception e) {  
  7.              
  8.     }  
  9. }  
代码很简单。不是吗?

方法4)下载eclipse axis的client,server插件

下载eclipse axis2插件
http://mirror.bjtu.edu.cn/apache/axis/axis2/java/core/1.6.2/

我这里下载的是1.6.2/版本的axis2-eclipse-codegen-wizard.zip和axis2-eclipse-service-archiver-wizard.zip
(至于安装到eclipse我不做累赘说明了。可参考网上资料)


安装成功后选择Axis2 Code Generator

然后选择工程

下面是自动生成代码


客户端测试代码

copy
    import bingbing.SayHello;  
  1. import bingbing.TttStub;  
  2. class TestClient {  
  3.     /** 
  4.      * @param args 
  5.      */  
  6.     void main(String[] args) {  
  7.         try {  
  8.             TttStub stub=new TttStub();  
  9.             SayHello hello=new SayHello();  
  10.             hello.setName("大兵哥");  
  11.             System.out.println(stub.sayHello(hello).get_return());  
  12. }  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐