以前只听说过webservice,从来没有真正的接触过,今天有个工单,要掉接口,接过来发现是weiservice的,瞬间凌乱啊。
网上搜了好多的资料,感觉都太笼统,没有什么具体的步骤,下面我便把我自己的具体实践步骤记录一下,供那些初次使用webservice(java版)的童鞋一个借鉴。如有问题,还请大神多多指教。。。。。。。。
1、接口地址:
http://IP:8080/MediaInterface/BaseInfoService.svc
将该地址在浏览器中输入,然后会出现一个页面,找到其中的一个含有wsdl的URL,本接口中的URL为:
http://IP:8080/MediaInterface/BaseInfoService.svc?wsdl
2、利用上面地址,生成调用接口的java代码
首先需要axis的jar包,我下载的是axis-bin-1_4.zip
然后解压该zip包,然后在axis加压后的文件夹下,编写一bat脚本文件(windows系统下),具体代码如下:
set Axis_Lib=C:\Users\Administrator\Desktop\axis-1_4\lib set Java_Dir=C:\Java\jdk1.6.0_10\bin set ava_Cmd=%Java_Dir%\java -Djava.ext.dirs=%Axis_Lib% set Output_Path=C:\Uses\Administrator\Desktop\axis-1_4\src set Package=com.ubs.ws %Java_Cmd% org.apache.axis.wsdl.WSDL2Java http://IP:8080/MediaInterface/BaseInfoService.svc?wsdl -o%Output_Path% -p%Package% -t Pause
里面的参数,根据自己机器的具体情况,自行配置
切记,地址配置中一定不要含有空格
如果运行正确,没有报错的话,会在axis文件夹下生成一个src目录,然后里面就是你想要的java类了。
BaseInfoService.java
BaseInfoServiceLocator.java
BaseInfoServiceTestCase.java(这个是个junit测试工具类,可以不要)
BasicHttpBinding_IBaseInfoServiceStub.java
IBaseInfoService.java
3、调用接口,开始联调
将生成的java类,复制到自己的项目中,当然,肯定用缺少很多jar包,需要自己根据报错信息,自行下载并添加(要有耐心)。
调用代码:
BasicHttpBinding_IBaseInfoServiceStub baseInfoServiceStub = new BasicHttpBinding_IBaseInfoServiceStub(); baseInfoServiceStub.syncSaleClues("ddd"); System.out.println(str);
这样调用的话,会报出如下异常:
Exception in thread "main" AxisFault faultCode: {http://xml.apache.org/axis/}Server.NoEndpoint faultSubcode: faultString: No endpoint faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}exceptionName:org.apache.axis.NoEndPointException {http://xml.apache.org/axis/}stackTrace:No endpoint at com.china.ubs.ws.BasicHttpBinding_IBaseInfoServiceStub.syncSaleClues(BasicHttpBinding_IBaseInfoServiceStub.java:1084) at com.china.ubs.ws.TestClass.test(TestClass.java:34) at com.china.ubs.ws.TestClass.main(TestClass.java:25) {http://xml.apache.org/axis/}hostname: No endpoint at com.china.ubs.ws.BasicHttpBinding_IBaseInfoServiceStub.syncSaleClues(BasicHttpBinding_IBaseInfoServiceStub.java:1084) at com.china.ubs.ws.TestClass.test(TestClass.java:34) at com.china.ubs.ws.TestClass.main(TestClass.java:25)
通过查找发现,应该这么写:
BaseInfoServiceLocator service = new BaseInfoServiceLocator(); BasicHttpBinding_IBaseInfoServiceStub baseInfoServiceStub = (BasicHttpBinding_IBaseInfoServiceStub)service.getBasicHttpBinding_IBaseInfoService(); String str = baseInfoServiceStub.syncSaleClues("ddd"); System.out.println(str);
这样调用java调用webservice接口就完成了。剩下的就是联调工作
相关推荐
JAVA调用WEBSERVICE接口
java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰
java调用webservice接口方法,直接AXIS调用远程的web service
Java中如何通过https调用Webservice接口
Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;
java调用webservice接口方法.rar
java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用...
JAVA调用WEBSERVICE接口.zipJAVA调用WEBSERVICE接口.zip
java调用json参数的webservice 涉及技术: JAVA JSON WEBSERVICE
介绍了java代用webservice的实现方法,采用axis依赖的方式。对于任意webservie都可以实现简单条用,用最少的依赖和最少的代码实现调用
java使用XFire调用webService接口
java调用webservice接口案例,service调用webservice接口
最近项目中遇到需要去掉老系统的webservice服务中的insert方法,找了很久,发现这样最简单,实测有效!!!
JAVA调用WebService所需要的JAR
java android 调用webservice,java android 调用webservice
nodejs和Java调用webservice接口总结 做了一天终于调通了 Java和node工程都是可以使用,随便总结一下,下次忘记咯
本人测试能成功运行并输出结果。因为项目需要,在myeclipse中测试可行,在eclipse中也已测试。请放心使用。
希望用http协议的能可以帮到大家!很有使用价值!大家可以看看!
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
JAVA调用Webservice接口Demo 直接上代码,下载下来可直接运行看到效果 1,IP查询 2,根据省份查城市