一、排除问题

1、今天接到一个任务,我做为客户端,调用服务端接口,通过生成wsdl文件的方式,所以用了wsimport命令,后台提示不支持soap编码

2、我看网上说,jdk1.7及以后就不在支持,于是我下了一个jdk1.6版本,结果还是有问题

二、解决问题

1、在网上看到说需要下载axis1.4版本的jar包,下载地址


2、下载到本地以后需要创建一个可以运行的.bat文件做一些简单配置

-- 这个是刚才下载的axis文件路径
set axis_lib=F:\axis-bin-1_4\axis-1_4\lib
set java_cmd=java -Djava.ext.dirs=%axis_lib%
-- 这个是webservice服务端地址
set axis_servlet=xxx/webservice/Service.jws?wsdl
-- 【-p】是生成文件的包路径,不加会有一个默认的,推荐加上,生成文件的同时也会把包路径一起生成。
%java_cmd% org.apache.axis.wsdl.WSDL2Java -p webservice -u %axis_servlet%

3、双击bat,就会出现下面这些文件

拷贝到项目中

如你所见,方法报错了,是因为项目中没有相应的jar包。
如果是springboot项目,很简单,只需要引入相关依赖,

   <dependency><groupId>org.apache.axis</groupId><artifactId>axis</artifactId><version>1.4</version></dependency><dependency><groupId>javax.xml</groupId><artifactId>jaxrpc</artifactId><version>1.1</version></dependency><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>commons-discovery</groupId><artifactId>commons-discovery</artifactId><version>0.2</version></dependency>

也可以不引入pom文件,直接手动导入jar包

4、编写调用服务端代码

        String wsdl = "xxx/webservice/Service.jws?wsdl";try {org.apache.axis.client.Service service = new org.apache.axis.client.Service();URL url=new URL(wsdl);ServiceSoapBindingStub stub = new ServiceSoapBindingStub(url,service);// 有些webservice需要登录,登陆后才能进行一些操作,这个需要设置如下两个参数://1、 超时时间stub.setTimeout(1000 * 10);//2、 次数设置true,登录后才能保持登录状态,否则第二次调用ws方法时仍然会提示未登录。stub.setMaintainSession(true);//目标方法String s = stub.contractService(txt());System.out.println(s);System.out.println("====================== webservice调用结束 ======================");   } catch (AxisFault | MalformedURLException axisFault) {axisFault.printStackTrace();} catch (RemoteException e) {e.printStackTrace();}         

到这里就解决了。

这里做一些扩展,通常传入的参数都是xml格式的,有一种方法,在格式转换的时候,后台做字符拼接,大概是下面这种方式,但是我们传入的时候一定要包含头部信息也就是“<?xml version='1.0' encoding='UTF-8'?>”
其他标签都是看调用的服务端,他们的格式是如何规定的。

    public String test() {StringBuffer xmlnodes = new StringBuffer();xmlnodes.append("<?xml version='1.0' encoding='UTF-8'?>");xmlnodes.append("<ROOT>");xmlnodes.append("<STAFF_LIST>");xmlnodes.append("<OUTSOURCING_ID>"+"?"+"</OUTSOURCING_ID>\n" +"\t<OUTSOURCING_DEPT_NAME>"+"?"+"</OUTSOURCING_DEPT_NAME>\n" +"\t<OP_TYPE>"+"?"+"</OP_TYPE>\n");xmlnodes.append("</STAFF_LIST>");xmlnodes.append("</ROOT>");return xmlnodes.toString();}

有不对的地方还望指点,若能获得您的建议,倍感荣幸。

wsimport命令生成webservice客户端相关推荐

  1. cmd命令生成webservice_使用wsimport命令生成webService客户端代码实例

    wsimport简介 在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用web ...

  2. java wsimport方式生成webservice客户端代码

    wsimport方法 1.在jdk安装目录bin下wsimport.exe,执行命令(修改红色部分的信息即可) wsimport -keep -d D:\1 -s D:\2 -p com.exampl ...

  3. cmd命令生成webservice_根据wsdl文件生成WebService客户端代码

    有时候在项目中,一个项目可能有好几个公司在做.系统之间难免会出现互相调用接口的现象,这时候有一种办法就是使用webService.本篇文章将介绍如何将对接系统提供的WebService接口,根据对方提 ...

  4. 关于用SoapUI集成CXF生成WebService客户端,以及测试的流程和问题的解决

    项目环境 1.springBoot框架的web系统 2.jdk1.8 3.windows 10 集成 IDEA开发环境 4.SoapUI 5.4.0软件(直接去百度搜索下载) 5.apache-cxf ...

  5. 使用wsdl2java命令生成webservice本地调用代码

    使用wsdl2java命令生成webservice本地调用代码 如果没有设置环境变量,就要先进入cxf的bin目录 例子: wsdl2java -d . http://localhost:7890/h ...

  6. eclipse生成webservice客户端代码以及通过客户端访问服务端

    最近工作中需要用到webservice调用其他服务,没接触过这个,研究了几天,做个记录 1.eclipse生成webservice客户端:打开eclipse, File >> New &g ...

  7. 生成webservice客户端以及解决SSL异常

    生成Webservice代码 并解决异常HTTP 传输错 误:javax.net.ssl.SSLHandshakeException:javax.net.ssl.SSLHandshakeExcepti ...

  8. 根据wsdl文件生成WebService客户端代码

    有时候在项目中,一个项目可能有好几个公司在做.系统之间难免会出现互相调用接口的现象,这时候有一种办法就是使用webService.本篇文章将介绍如何将对接系统提供的WebService接口,根据对方提 ...

  9. soupUI生成webservice客户端代码

    在Apache网站下载axis2软件包,同时本机安装soapUI工具.例如,当前我使用的axis2版本为axis2-1.4-bin.zip,soapUI版本为3.6. Apache Axis下载地址: ...

最新文章

  1. 移动端 设置 小于12px 字体 初探
  2. 文巾解题 264. 丑数 II (剑指 Offer 49. 丑数)
  3. 机房空调制冷、加热、加湿、除湿这些功能如何应用?
  4. 信息安全系统设计基础第二周学习总结
  5. Android内存泄漏总结
  6. codevs1219 骑士遍历(棋盘DP)
  7. 【摄影测量原理】第二章:单幅影像解析基础
  8. metric learning -- 马氏距离与欧氏距离
  9. leetcode--983.最低票价
  10. js中解析json字符串
  11. 弹簧触摸开关原理图_两种触摸开关电路
  12. RedisView-开源跨平台的Redis可视化工具
  13. 论坛的搭建以及优化方案
  14. 源码编译打包_Atlas 2.1.0 实践(1)—— 编译Atlas
  15. ImageView和ImageButton的区别
  16. 解决IDEA支持GBK编码项目的问题
  17. ORACLE 提取汉字拼音首字母及汉字排序
  18. 基础物理-物质的组成
  19. 单片机c51语言考试试题,51单片机基础知识试题题库(考试用含答案)
  20. 送给python初学者在简单编程练习题中的小技巧

热门文章

  1. 【投资】实际计算跨式期权
  2. 从苏宁电器到卡巴斯基(第二部)第15篇:我在卡巴的日子 XV
  3. Neural Network
  4. 柔索离散模型 Bushing衬套力 Simulink仿真
  5. gojs 官网api翻译
  6. TI TMDS181IRGZT 数字视频接口/高清多媒体接口重定时器
  7. 电子政务外网建设解决方案
  8. 回归分析(二)—— 一元线性回归分析
  9. HTML-表单页面设计之陕西理工大学教务系统
  10. 给Kali安装pip