标签:java webservice demo 源码
对方提供的webservice是用c#写的,而我这个方案对于java或c#(亲测过)提供的webservice都可以使用。具体步骤如下:
1、新建一个普通的java项目,在项目上右键new–other–web service client –next如图,在框内输入webservice地址,例如:http://10.10.10.60:7000/srv_waipaiItem/ws/wp?wsdl(地址输入完后需要等待一两秒,next才可点击)
2、输入正确的webservice地址后,一路finish后会在项目的src下生产类似下图的目录文件:
类名称最短的那个一般就是你需要的文件名字。
3、需要添加的jar包如下:jar包的下载地址(免积分):http://download.csdn.net/detail/zl544434558/8561227
4、测试代码的main方法:
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.ciming.waipaiItem.ws.WaiPaiRecordWs;
public class TestWebServiceClient {
public static void main(String[] args) throws Exception {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
// 注册WebService接口
factory.setServiceClass(WaiPaiRecordWs.class);
// 设置WebService地址
String url = "http://10.10.10.61:7001/srv_waipaiItem/ws/wp?wsdl";
factory.setAddress(url);
WaiPaiRecordWs record = (WaiPaiRecordWs) factory.create();
//接口提供的方法名字为getDeliverySingle
String jsonString = record.getDeliverySingle("adk", "adkPwd",
"003300114112150914", "hz2_2");
System.out.println(jsonString);
System.out.println("执行成功");
}
}
但是如果你直接运行就会报如下的类似错误:
Exception in thread "main" javax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method getDeliverySingle.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:123)
at com.sun.proxy.$Proxy17.getDeliverySingle(Unknown Source)
at com.evan.webService.test.TestWebServiceClient.main(TestWebServiceClient.java:19)
该错误的解决方案是在生成的文件的interface中添加@WebService注解即可。例如本项目只需要在 WaiPaiRecordWs 接口中添加@WebService即可。
至此java已经可以正常调用远程的webservice了。而且跟调用本地方法一样方便。项目的整个demo下载地址:http://download.csdn.net/detail/zl544434558/8561301
标签:java webservice demo 源码
原文地址:http://blog.csdn.net/zl544434558/article/details/44855989