Java 中调用 webservice 的方法
用 wsdl 文件生成java文件
cmd:
wsimport -s generated -p com.bd.hh http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
这样会在 当前目录的 generated 目录下生成java文件,generated 目录需要提前建好。
wsimport 是java提供的工具,在jdk目录里有,添加JAVA_HOME环境变量后 可以直接使用。
参考:WebService 根据 wsdl 文件生成 Java 代理类方式汇总_wsdl文件生成java代码方式-CSDN博客
解析组件 's:schema' 时出错
1、生成时报错如下,执行失败,出现的原因是 webService 服务端如果是 .net 写的,则使用 Java wsimport.exe 生成时就会报错。
2、开发中如果没有遇到这个错误,自然是最好,万一遇到,则可以一试,亲测有效。
解决办法
1、针对 .net 开发的 webService 服务端,Java wsimport.exe 生成代理类出错解决办法如下:
1) 将服务端的 wsdl 文档保存到本地,如 E:\wmx\webservice\weather.wsdl.xml、E:\wmx\webservice\weather.wsdl、E:\wmx\webservice\weather.xml (经实测文件的后缀名其实关系不大,都可以正常生成) 2) 修改 wsdl 文档以下内容: 将文件中所有的 <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>
直接使用 Http 请求
参考:
Java调用WebService方法总结(9,end)--Http方式调用WebService - 且行且码 - 博客园 (cnblogs.com)
常记溪亭日暮,沉醉不知归路。兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。
昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。