webservice客户端调用方式

上一篇是讲的webservice打包方式发布。

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

             这里不做介绍了,可阅读我的博客:http://blog.csdn.net/wlbing0625/article/details/7743795
方法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即可。

        编写客户端代码

public class TestClient {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			//首先创建实例,内部类,为每个方法创建一个内部类
			SayHelloStub shs=new SayHelloStub();
			SayHelloStub.SayHello sh=new SayHelloStub.SayHello();
			sh.setName("大兵哥");
			System.out.println(shs.sayHello(sh).get_return());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
方法3)eclipse自动生成客户端
           new Web Service Client 。输入wsdl地址,自动生成stub,proxy一些文件。
           再书写客户端代码。此方法比较方便。但建议初学者首先用方法1。

         

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

一系列java文件


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

客户端测试代码如下:   

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import bingbing.TttPortTypeProxy;

public class TestClient {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
                 //代理对象
                 TttPortTypeProxy proxy=new TttPortTypeProxy();
		try {
			System.out.println(proxy.sayHello("大兵哥"));
		} catch (RemoteException e) {
			e.printStackTrace();
		}
	       
	}

}
代码很简单。不是吗?

方法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


然后选择工程

下面是自动生成的代码



客户端测试代码:

import bingbing.SayHello;
import bingbing.TttStub;

public class TestClient {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			TttStub stub=new TttStub();
			SayHello hello=new SayHello();
			hello.setName("大兵哥");
			System.out.println(stub.sayHello(hello).get_return());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}


  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值