![](https://ask.qcloudimg.com/http-save/yehe-8223537/0aec724bdf044776eee1aa5357917377.jpg)
WebService的理解
![](https://ask.qcloudimg.com/http-save/yehe-8223537/464819e7c51ab4550fae55b66219c20a.jpg)
WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。
特点:
客户端发送的请求主体内容(请求报文)的格式为XML格式
接口返回的响应主体内容(响应报文)的格式为XML格式
![](https://ask.qcloudimg.com/http-save/yehe-8223537/8da47e1e5a1f0cc293fe7f2e846972ce.jpg)
WSDL的介绍
![](https://ask.qcloudimg.com/http-save/yehe-8223537/60232db1b78829f27f06d5c94a226e20.jpg)
就是WebService接口对应的WSDL文件,该文件通过xml格式说明如何调用,可以看作WebService的接口文档(使用说明书)。比如:
![](https://ask.qcloudimg.com/http-save/yehe-8223537/e9858c0762696007f5dc6a71bcc1fee3.jpg)
SOAP的介绍
![](https://ask.qcloudimg.com/http-save/yehe-8223537/d6e6644801245a8012ed107baeeffbc1.jpg)
Soap就是通信协议,该协议是基于XML的数据结构和超文本传输协议(HTTP)的。
![](https://ask.qcloudimg.com/http-save/yehe-8223537/bdd31519b5543cce0f1a18ddd613de6e.jpg)
注册网站会员
![](https://ask.qcloudimg.com/http-save/yehe-8223537/8ed28a29c53d6f013c4ddba4332c2e93.jpg)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/ce00c376ee636fb1dd0e071e22572bbe.jpg)
开通天气查询WebService接口的使用权限
![](https://ask.qcloudimg.com/http-save/yehe-8223537/f6ef6291fae3d3cec98a39982bc619ab.jpg)
JAVA程序测试WebService接口
这里的Java程序实际上就是一个WebService客户端而已。
步骤一、下载天气查询WebService接口WSDL文件
下载地址为:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
注意:下载好后,该文件需要更改的。如何修改请参考如下文档:
http://blog.csdn.net/binbinxyz/article/details/8906717
步骤二、根据WebService接口的WSDL文件在本地生成对应的JAVA代码
附截图:
步骤三、导入相关的jar包
jar包真的比较多。可以参考如下文档:
http://sxlkk.iteye.com/blog/1944831
附截图:
步骤四、写一个JAVA客户端测试该接口的调用
这里的测试代码比较简单,没有调JUnit框架的验证方法和hamcrest框架的匹配方法。
代码如下:
package day02;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.Test;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWSSoap;
public class WeatherTest2 {
@Test
publicvoid test(){
//
JaxWsProxyFactoryBean bean = newJaxWsProxyFactoryBean();
//
bean.setAddress("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl");
//
bean.setServiceClass(WeatherWSSoap.class);
//
WeatherWSSoap service = (WeatherWSSoap)bean.create();
ArrayOfString s = service.getWeather("上海", "918139fc750c4dc58932179efc8d378b");
//
System.out.println(s.getString());
}
}
步骤五、运行该JAVA程序
附截图:
SoapUI工具的介绍
此处省略N个字。
使用SoapUI工具测试WebService接口
步骤一、安装SoapUI
步骤二、创建一个空的工程
步骤三、选中该工程,导入WSDL
步骤四、打开getWeather的请求报文,修改citycode和userid这两个参数
步骤五、发送请求
附截图:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/148306.html