您的位置:首页 > 其它

webservice客户端的生成方式

2015-06-03 15:36 555 查看
1、通过eclipse创建webservice client,这个功能是eclipse自带的,不详述;

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

set HOME=D:\workspace\cvte\ekp\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 com.landray.kmss.cvte.review.integration.webservice.client.ocs -t -s http://ocs.gz.cvte.cn/WS/SwDeliverBill?wsdl
pause

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

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

Service service = new Service();// 创建一个Service对象

String endPoint = "http://ocstestlmk.gz.cvte.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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: