》》接上一篇
使用myclipse实现手机号归属地查询的WebService调用,主要步骤:
1.一个免费的webservice网址:http://www.webxml.com.cn/zh_cn/web_services.aspx
在上面找到手机归属地查询的接口、方法说明(http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx)及wsdl地址:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
2.根据wsdl地址生成客户端代码:
(1)按住win+r打开cmd命令窗口,输入:wsimport -s "D:/Beauxie/" -p "com.beauxie.mobile.ws" "http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl" ,生成的客户端代码包存放在D:/Beauxie/目录下:
注:有时可能会因为网络原因, 直接用WSDL地址生成不能成功,可以将wsdl文档以.xml文件的形式保存(ctrl+s)在本地,再用wsimport命令生成(只需将上面的命令中的wsdl地址改成文件路径即可),这种方法有一个弊端,就是生成的java代码依赖于xml文件,所以原先的xml文件位置及内容不能随意的修改。
3.新建一个Java项目,将上述生成的代码文件,以包的形式复制到src目录下:
4.新建一个Test类,用以测试,代码如下:
package com.beauxie.mobile.test;
import com.beauxie.mobile.ws.MobileCodeWS;
import com.beauxie.mobile.ws.MobileCodeWSSoap;
/**
* @author Beauxie
* 手机号归属地的WebService调用测试
*/
public class Test {
public static void main(String[] args) {
//1.创建service
MobileCodeWS mobileCodeWS=new MobileCodeWS();
//2.获取代理对象
MobileCodeWSSoap soap=mobileCodeWS.getMobileCodeWSSoap();
//3.调用服务端方法,方法参数参照接口中的方法说明
String mobile="1825824xxxx";//请输入自己的真实号码~~
String info=soap.getMobileCodeInfo(mobile, null);
//4.输出结果
System.out.println(info);
}
}
运行结果:
总结:
1.一般优先根据wsdl地址生成客户端代码;
2.生成的客户端代码中最关键的两个类:
(1)service类:即继承了javax.xml.ws.Service的那个类,一般是以Service结尾的,形如XXXService,但在这里比较特殊,是一个叫MobileCodeWS类;
(2)代理对象:service类中通过get方法得到的一个对象,在这里,即MobileCodeWSSoap类。
3.有时运行结果需要等待很久,是由于接口的原因,属于正常情况;
《完结》