由于项目的历史原因,webservice服务端是乙方公司开发的,我们自己开发的系统需要去调用乙方公司的webservice接口。前面用了网上提供的一种方法(非生成代理类),怎么也调用不成功(也许是因为服务端的wsdl的版本太低),开始还以为乙方公司接口的问题,后来用.net试了一下,直接调用成功,说明接口没有问题。

后来经过思考,还是采用生成代理类的方法来调用,刚开始用cxf,下载完cxf压缩包,用wsdl2java.bat生成java代理类,结果直接报错:WSDLToJava Error:Rpc/encoded wsdls are not supported with CXF,网上一查是因为服务端的wsdl版本太老(服务端是用axis)。

无奈只好放弃cxf,改用axis,下载axis1.4版本http://mirror.bit.edu.cn/apache/axis/

注意:如果服务端wsdl比较老的话,请下载低版本,不要下载axis2

下载完后,在F:\axis-bin-1_4\axis-1_4\lib下建一个以下的bat文件:

set Axis_Lib=f:\axis-bin-1_4\axis-1_4\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://host:5080/xxxx/services/xxxService?wsdl
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -u %Axis_Servlet%

  双击之后,该文件,自动生成java的代理类,生成之后,建一个main函数调用:

public static void main(String[] args)  throws Exception {

		 Object[] pas = new Object[2];
pas[0] = "2"; pas[1] = "xxxx";
MapWebServiceServiceLocator ms = new MapWebServiceServiceLocator();
MapWebService client=ms.getMapWebService();
     Object a = client.unsafeInvokeService("方法名", pas);
    System.out.println(a.toString()); }

  这样就可以调用成功了!!!

所需的包,pom.xml

   <dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.2</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-saaj</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.4</version>
</dependency>

  

最新文章

  1. [驱动开发] windbg符号表
  2. C++调用C函数
  3. 【BZOJ-3667】Rabin_Miller算法 随机化判素数
  4. UVa 11988 Broken Keyboard(链表-&gt;数组实现)
  5. 《Linux内核设计与实现》CHAPTER1,2阅读梳理
  6. DDD 领域驱动设计-看我如何应对业务需求变化?
  7. Struts2的处理结果(三)——动态配置结果
  8. C语言实例代码
  9. 判断文件夹下是否存在txt格式的文本文件
  10. [再做01背包] POJ 3624 Charm Bracelet
  11. wix xslt for adding node
  12. Zookeeper集群安装详解
  13. &lt;转&gt;libjpeg解码内存中的jpeg数据
  14. CodeForces-2015 HIAST Collegiate Programming Contest-Gym-100952A-Who is the winner?
  15. 平安技术开放日质量保证技术专场第一期 [附部分 ppt]
  16. 闪电侠 Netty 小册里的骚操作
  17. swift项目初始化并添加忽略文件Swift.ignore
  18. epoll实现机制分析
  19. 运行Chromium浏览器无法登录谷歌账号因为缺少google api密钥
  20. 给自己的小练习19-[kuangbin带你飞]专题九连通图

热门文章

  1. delphi 多线程之System.TMonitor
  2. 写好的Java代码在命令窗口运行——总结
  3. Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving
  4. python 文件处理(转载)
  5. vim的基础操作
  6. Unity 代码组件获取和使用、Resources加载、OnGUI、Time、Mathf、PlayerPref
  7. Git操作相关记录
  8. js obj对象转formdata格式代码
  9. 创建自定义的 Angular Schematics
  10. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等