您的位置:首页 > 编程语言 > Java开发

利用wsdl2java生成本地WebService客户端

2017-05-08 15:07 489 查看
利用wsdl2java生成本地WebService客户端

在网上可以找到wsdl地址;如天气预报,手机号码所属地,交通查询等

第一步:打开wsdl网页,右击鼠标--->网页保存为---->保存为.wsdl格式本地文件;

或直接复制以.wsdl格式保存在项目src中,然后在该文件上右键----->myeclipse--->选new web service client点击next----->路径选择wsdl URL

然后一直next,就会在指定项目下生成同下内容

第二步:CMD命令:wsdl2java -keep 文件所在路径\文件名wsdl,然后回车,以手机号码所属地为例,会自动生成一下类,把类复制到项目里即可



第三步:写测试类,代码如下
public static void main(String[] args) {
MobileCodeWS factory = new MobileCodeWS();
MobileCodeWSSoap soap = factory.getMobileCodeWSSoap();
//手机号码的所属地和什么卡
String mobilecodeinfo = soap.getMobileCodeInfo("18140605273", null);

System.out.println(mobilecodeinfo);
//
ArrayOfString data = soap.getDatabaseInfo();
List<String> list = data.getString();for(String str:list){System.out.println(str);}}




结果



第二种方式:利用wsimport调用接口

wsimport -s D:\MyEclipse\Workspaces\WebServiceDemo\src -p com.neil.WebService.Client -keepWeatherWS.xml
WeatherWS.xml为http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?w
4000
sdl

其中:

-s参数值的是生成的文件放哪里,指定放在你的项目的src文件夹下。

-p参数是Java 的包名

-keep参数是返回xml文件的url的地址

如调用天气预报接口:

由于此天气预报的服务器端是用net开发的,Java调用net开发的webservice时会有些问题,可以用如下方法解决,现在我们来验证一下:

             A.先将生成本地的wsdl文档,浏览器访问http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl将显示的内容复制保存到一个本地文件weather.wsdl即可;

             B.将本本地文档weather.wsdl中的<s:element ref="s:schema"/><s:any /> 替换成<s:any minOccurs="2" maxOccurs="2"/>;


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: