当前位置 : 首页 » 文章分类 :  开发  »  SoapUI使用笔记

SoapUI使用笔记

SoapUI使用笔记


添加wsdl

如何获得WSDL地址?

浏览器打开webservice地址,点击WSDL链接后新弹出页面的地址即WSDL,url末尾带?wsdl标识

通过webservice地址添加WSDL

File->Create Empty Project,新建空工程
在新建的工程上右键->Add WSDL->WSDL Location处填入webservice地址

通过xml文件添加WSDL

SoapUI5.2之后,有时候直接通过WSDL地址添加会报错,在浏览器打开WSDL,将网页Ctrl+S保存为xml文件,添加WSDL时WSDL Location处选择Browse,打开xml文件即可添加。


使用WS-Security(WSS)

添加WSS Outgoing拦截器配置

在工程名上双击,打开Project属性界面,在WS-Security Configurations标签中选择Outgoing WS-Security Configurations标签。
点加号,添加一个新的Outgoing WSS配置,给其命名为callService-Outgoing-WSS。
再点下面的加号,给callService-Outgoing-WSS添加一个新的WSS Entry,type选择Username,填入用户名,密码,Password Type选择PasswordText,不勾选Adds a nonce,不勾选Adds a created

应用WSS Outgoing拦截器

在Request文本上点右键,选择Outgoing WSS,应用刚配置的拦截器,会看到SoapUI自动在请求头部<soapenv:Header>增加了<wsse:Security>配置,里面有拦截器中配置的用户名和密码。

The message has expired

SoapUI中发送请求,返回结果:<faultstring>The message has expired</faultstring>
原因是WS-Security开启了时间戳验证,本地时间和服务器时间不能相差大于30秒,否则请求超时。
可相应修改本地或服务器时间来解决。

A replay attack has been detected

请求返回错误<faultstring>An error happened processing a Username Token: "A replay attack has been detected"</faultstring> ,解决方法是去掉<wsse:Security>中的wsse:Nonce字段。可以修改WSS Outgoing拦截器配置,不勾选Adds a nonce

Service Endpoints上添加用户名和密码

在新增的WS上双击,在弹出窗口的Service Endpoints标签下填入Username和Password,并把WSS-Type类型选择为PasswordText。


上一篇 MyBatis

下一篇 Linux-常用命令

阅读
评论
497
阅读预计2分钟
创建日期 2015-11-04
修改日期 2018-06-23
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论