虽然之前简单的看过webService,但是后来忘得一干二净了,于是便重新学习下。
一、定义
顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用。
webService基于soap协议,该协议其实就是Http+XML的组合。
我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单了调用了一下服务器上的一段代码而已。WebSerice可以将你的服务(一段代码)发布到互联网上让别人去调用,也可以调用别人机器上发布的WebService,就像使用自己的代码一样。
二、使用方法
1.登录相关网址获取所需的wsdl、文档等,如http://www.webxml.com.cn。
2.一般我们选择使用Java的wsimport命令在线解析wsdl生成类文件和java文件。
wsimport -s . -p cn.sp.ws http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL
删除.class文件后,将其导入我们的项目中。
注意:有时候解析会报错,我按照网上的方法另存为wsdl文件并删除报错位置的代码,但是解析还是失败。下次再找问题吧。如图:
package cn.sp.test;
import cn.sp.ws.MobileCodeWS;
import cn.sp.ws.MobileCodeWSSoap;
/**
* 手机号码归属地查询客户端
* @author 2YSP
*
*/
public class TestMobileCodeClient {
public static void main(String[] args) {
//创建服务访问点集合
MobileCodeWS mc = new MobileCodeWS();
//根据访问点获取绑定的类
MobileCodeWSSoap mobileCodeWSSoap = mc.getMobileCodeWSSoap();
//调用方法
String mobileInfo = mobileCodeWSSoap.getMobileCodeInfo("13886157376", null);
System.out.println(mobileInfo);
}
}
运行得到如下结果,说明成功了。