webservice客户端的生成方式

本文详细介绍了如何使用批处理文件通过wsdl文件生成Webservice客户端,并展示了如何利用AXIS调用Webservice进行实际操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、通过eclipse创建webservice client,这个功能是eclipse自带的,不详述;

2、通过命令根据wsdl文件去生成webservice client,如下代码,将命令写成一个批处理文件执行即可:

set HOME=D:\workspace\helloword\WebContent\WEB-INF\lib
 java -classpath %HOME%\axis-1.4.jar;%HOME%\axis-ant.jar;%HOME%\commons-discovery-0.2.jar;%HOME%\commons-logging-1.0.4.jar;%HOME%\jaxrpc.jar;%HOME%\log4j-1.2.16.jar;%HOME%\mail.jar;%HOME%\saaj-api-1.3.jar;%HOME%\wsdl4j-1.6.2.jar;;%HOME%\mail.jar; org.apache.axis.wsdl.WSDL2Java -p java.helloword.review.integration.webservice.client -t -s http://java.helloword.cn/WS/SwDeliverBill?wsdl
 pause

注意各个jar包是否存在和jar包的路径,还有客户端代码的存放包名。

 

3、直接写java代码调用,以下为利用AXIS调用webservice

  Service service = new Service();// 创建一个Service对象
  String endPoint = "http://java.helloword.cn/WS/SwDeliverBill";//这里注意要去掉?wsdl,不然会报错
  // 你的WebService的URL
  QName qName = new QName(endPoint);// 创建一个QName对象把你的endPoint丢进去
  Call call = service.createCall(qName, "getSYSoftByWorkOrderId");// 创建一个Call对象把QName实例丢进去,把WebSevice提供的方法的名字丢进去,我这里是sayHello
  call.setTargetEndpointAddress(endPoint); // 在Call实例里要指定endPoint。

  Object invoke = call
    .invoke(new Object[] { "Ki5lkjofj4Fsj3dDSjj3sdji38j6",
      "liaomingkai", "QX-SY15031071H" });
  System.out.print(invoke);
  List outputValues = call.getOutputValues();
  for (Iterator iterator = outputValues.iterator(); iterator.hasNext();) {
   Object object = (Object) iterator.next();
   System.out.println(object);
  }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值