好久没写啦,今天记录下最近的一个问题。
使用场景:对接第三方接口,对方的webService接口有点不一样,之前的接口都是.asmx?wsdl类型的地址,现在给了一个.cls?wsdl类型的地址,并且浏览器打开后标签也变化了。后续经过测试,发现原来的请求获得的数据也不正确,返回接口说明的html数据了。
处理方案:
-
将地址在浏览器打开,另存为xml文档
-
在当前路径下打开cmd窗口,使用 wsimport -keep xx.xml 命令生成java实体类和编译代码。如果该命令不可以使用,检查下你的Java环境,因为这是jdk自带的编译命令。
-
把所有的.java文件复制到你的项目中去,最好单独一个文件夹,这些是生成好的请求代码
-
记得修改这里的请求地址,一定要修改,因为默认的是你的xml地址,实际请求时会报错。
-
按照如下方式发起请求,PUB0018 的作用为初始化连接,PUB0018Soap 的作用是发起请求,参数是第三方接口的入参。具体实现方法依赖于封装好的注解中了,我们直接使用方法即可。