标签:webservice
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);
}
标签:webservice
原文地址:http://blog.csdn.net/jojoy_828/article/details/46346387