如何使用soapUI发送包含wss认证请求

什么是wss认证?wss全称是WebService Security。对于wss认证详细参考以下链接:

https://www.oasis-open.org/committees/download.php/16782/wss-v1.1-spec-os-UsernameTokenProfile.pdfhttps://www.oasis-open.org/committees/download.php/16782/wss-v1.1-spec-os-UsernameTokenProfile.pdf

接下来进入正题,如何使用soapUI发送包含wss认证请求,其实是往请求报文中填入红框部分:

在请求前需要server提供信息:①帐号密码②密码类型(passwordDigest和passwordText)

1.使用soapUI创建soap项目,并填入基础报文:

2.点击Reuqest 1,填入Username和Password,一般由server端提供

 

3.添加ws timestamp内容,因为server会校验当前时间是否在时间范围,测试间隔时间超过60s,则需要删掉security节点并重新添加。

右键空白处点击Add WS-Timestamp选项

设置过期时间,单位秒: 

 

点击确定后出现Security部分:

4.添加wss username token模块

 在空白处右键,点击Add WSS Username Token

此处会让你选择PasswordDigest(加密密码)还是PasswordText(明文密码),取决于server方如何校验:

点击确定后会出现UsernameToken部分:

到此已经完成所有步骤,可以愉快的请求server了~

Troubleshooting:

  •  请求server时出现错误:A security error was encountered when verifying the message

      server出现的错误信息:Caused by: org.apache.wss4j.common.ext.WSSecurityException: Invalid timestamp: The message timestamp has expired

原因和解决方式:

      ws timestamp时间过期,需删除security节点重新添加ws timestamp和wss usernametoken

  •  请求server时出现错误:A security error was encountered when verifying the message

      server出现的错误信息:Caused by: org.apache.wss4j.common.ext.WSSecurityException: An error happened processing a Username Token: "A replay attack has been detected"

原因和解决方式:

     ws UsernameToken中的Nonce中加密内容有当前时间,需删除security节点重新添加ws timestamp和wss usernametoken

### 使用SoapUI发送SOAP请求 SoapUI 是一款功能强大的工具,专门用于测试Web服务,包括RESTful 和 SOAP 服务。对于发送SOAP请求而言,SoapUI 提供了一个直观的界面来创建、编辑以及执行这些请求。 #### 创建新的SOAP项目 启动SoapUI之后,在初始界面上可以选择新建一个SOAP项目。此时需要提供WSDL文件的位置链接。WSDL (Web Service Description Language) 文件描述了Web服务的功能接口,包括可用的操作和服务端点地址[^2]。 一旦指定了有效的WSDL URL并点击“OK”,SoapUI会自动解析该文档,并基于其中定义的服务操作生成相应的请求模板[^1]。 #### 构建SOAP消息体 针对每一个已识别的服务方法,SoapUI都会自动生成对应的XML格式的消息框架。用户可以在图形化编辑器里修改此结构,填充必要的参数值以适应实际需求。如果涉及到复杂的数据类型,则可能还需要配置数据绑定或序列化机制[^3]。 #### 发送请求与查看响应 完成上述设置后即可通过点击“Submit”按钮向目标服务器提交构建好的SOAP请求。随后可在同一窗口下方看到返回的结果详情,包括HTTP状态码、完整的响应报文以及其他诊断信息等。 ```xml <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sam="http://example.com/sample"> <soapenv:Header/> <soapenv:Body> <sam:cloudLoadTestServiceByCase> <!--Optional:--> <arg0>?</arg0> </sam:cloudLoadTestServiceByCase> </soapenv:Body> </soapenv:Envelope> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值