如何使用soapUI模拟webservice客户端发送请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用soapUI模拟webservice客户端发送请求相关的知识,希望对你有一定的参考价值。
参考技术A 方法/步骤在进行webservice客户端开发时,首先需要获取到服务端的webservice服务地址,根据服务地址以及通讯协议创建对应的客户端请求。如果对方提供的是一个服务地址,可以通过浏览器将复制粘贴进去。从页面上可以看出这是一个基于axis框架生成的一个webservice服务端。
在服务端地址后面加上“?wsdl”(注意是英文的问号),在页面中就可以看到服务端公布出来的各种服务、命名空间等其他信息。通过element可以看出,服务端公布出来两个方法:sayHello和sayNo。后面带有Response的说明是服务端返回的信息。
根据服务端提供的地址,在soapUI工具上创建webservice客户端请求。打开soapUI软件,在软件的左上角点击file文件,在弹出页面中有三种方式,一般新增的使用第一种new soapUI project新建一个soapUI项目。
点击新建soapUI项目之后,在弹出框中,需要输入服务端的地址(注意地址后面要加上"?wsdl"英文符号),Project Name项目名称可以有汉字,能够自己区分是哪个服务端的项目即可。其他的值选择默认即可,不需要勾选其他选项,点击Ok即可创建好项目。
服务端方法公布展示。通过服务端的地址,创建一个soap项目之后,soapUI就自动解析服务端提供的方法接口。从示例中可以看出这个服务对外提供了两个服务接口sayHello和sayNo。
点开其中的Request 1可以看到这个请求的报文信息以及这个请求需要的参数和参数类型。消息的报文头信息和命名空间已经通过soapUI工具自动生成,在发送报文的时候只需要填写必要的入参即可。
模拟客户端发送请求。在客户端输入需要的参数之后,点击左上角的“发送”按钮就可以模拟客户端请求发送。发送完成后,在右侧就可以看到服务端返回的信息,这就是整个消息发送请求和返回的全流程。
wsdl文件方式的处理。对于有些服务端提供的不是类似上面的地址服务器,而是一些wsdl文件的方式。打开wsdl文件可以看到和在浏览器中打开服务端地址展示的内容相同,只是提供的方式不同而已。文件的格式可以是xml或者是wsdl的格式。
通过wsdl文件内容创建project。点击File文件下面的“creates a new soapUI project“。通过选择一个文件的方式,就可以根据wsdl报文内容的方式创建客户端。
点击右侧的Browse浏览按钮,找到wsdl文件文件,这个文件的后缀可以是wsdl的方式也可以是xml的方式,然后点击打开即可将文件导入到soapUI中,和服务地址类似,输入项目的名称,其他默认,点击OK即可创建成功。
MyService是通过服务地址的方式创建,MyService2222是通过wsdl文件内容的方式创建的。通过比对可以看出,这两种方式创建的客户端是一致的。同样解析出sayHello和sayNo服务。
END
注意事项
服务端地址后面添加的“?wsdl”必须要求是英文的问号
通过文件(后缀wsdl或者xml)的方式创建的时候,要保障文件头没有多余的空格空行。
使用soapUI测试WebService服务问题
WebService服务端定义的数据类型为Date类型,在使用soapUI测试时,出现“Could not parse xs:dateTime: Format.parseObject(String) failed”,应该是soapUI不能正常将字符串转化成Date类型导致,请问有什么办法可以解决么?
参考技术A 多一个(System.Date)强行转换就可以了。 参考技术B 可能是填写时间参数格式不对以上是关于如何使用soapUI模拟webservice客户端发送请求的主要内容,如果未能解决你的问题,请参考以下文章
SoapUI5.0创建WebService接口模拟服务端(转)
JMeter4.0学习之SoapUI创建WebService接口模拟服务端以及JMeter测试SOAP协议性能测试脚本开发