webservice头部认证
近期利用Jmeter测试webservice接口并发,调用webservice会出现Message does not conform to configured policy [ AuthenticationTokenPolicy(S) ]: No Security Header found 这样的错误。
以在 soapui 调用的结果来看, 会出现如下的返回
出现这种错误的原因 是webservice 的服务端需要提供 soap 认证的表头。
举例来说, 可能需要加上如下的认证头:
- <soapenv:Header>
- <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
- <wsse:UsernameToken>
- <wsse:Username>UserName</wsse:Username>
- <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-.0#PasswordText">Password</wsse:Password>
- </wsse:UsernameToken>
- </wsse:Security>
- </soapenv:Header>
(这个具体的格式和服务端的要求有关, 具体的username和pass也是服务端提供的)
在sopaui 调用的时候, 加上类似, 就能呼叫成功了。
在soapui中调试成功后,再将对应的xml复制到jmeter使用。