1、soapUI简介html
SOAP:java
WebService经过Http协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增长了一些特定的HTTP消息头,以说明HTTP消息头的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用WebService。web
SOAP协议 = HTTP协议 + XML数据格式服务器
SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防御栏,SOAP就是普通公路通过加隔离带和防御栏改造过的高速公路。网络
WSDL:框架
比如咱们去商店买东西,首先要知道商店里有什么东西可买,而后再来购买,商家的作法就是张贴广告海报。 WebService也同样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法能够调用,因此,WebService务器端首先要经过一个WSDL文件来讲明本身家里有啥服务能够对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪一个url地址表示,服务经过什么方式来调用。函数
WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。由于是基于XML的,因此WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。工具
WSDL文件保存在Web服务器上,经过一个url地址就能够访问到它。客户端要调用一个WebService服务以前,要知道该服务的WSDL文件的地址。WebService服务提供商能够经过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。性能
WebService的工做调用原理:对客户端而言,咱们给这各种WebService客户端API传递wsdl文件的url地址,这些API就会建立出底层的代理类,我调用这些代理,就能够访问到webservice服务。代理类把客户端的方法调用变成soap格式的请求数据再经过HTTP协议发出去,并把接收到的soap数据变成返回值返回。对服务端而言,各种WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它经过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪一个java类的哪一个方法,因而去查找或建立这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,经过http响应消息回给客户端。开发工具
SoapUI是专门针对webservice接口的测试工具,在对同一个webservice接口进行测试时,SoaqUI表现出来的性能更优越、更真实、更接近地反映接口的性能指标,对于SoapUI来讲,提供的结果数据分析不如LR那么详细与全面。
2、安装
在bin下执行
若是没有成功,就用超级管理员权限。
Demo
首先新建一个SoapUI Project,在Initial WSDL/WADL中输入wsdl的地址
Project创建好后,SoapUI会根据WSDL的格式生成左边的列表树,包括CUX_0_WS_SERVER_PRG_Binding为WSDL Binding,INVOKEFMSWS为Binding中的Operation。双击Request1就能看到Soap请求报文的内容。
在请求报文中填写必要的请求信息,并在左下角的Request Properies中输入用户名,密码及WSS-Pasword Type,再点击绿色的运行按钮,就能在右侧生成Soap响应报文。
只是对SoapUI 作了简单的介绍,主要用其来查看web service提供的接口,以及返回的结果,SoapUI的功能远不止这些,其能够对web service进行功能上和性能上的测试。
SoapUI的参数说明:http://www.soapui.org/Working-with-soapUI/preferences.html
进一步了解能够阅读:http://www.51testing.com/ddimg/uploadsoft/20100204/SoapUI.pdf
另外分享几个公开的Webservice站点,你能够随便招几个服务来测试
http://www.webservicex.net/WS/wscatlist.aspx
http://www.service-repository.com/
http://www.webxml.com.cn/zh_cn/index.aspx
根据此工具,查看http log,抓取报文,模拟http请求搞定