在SOAP UI mockService中启用WS安全性身份验证

时间:2014-02-23 23:55:57

标签: web-services authentication soapui ws-security

我正在尝试创建一个mockWebservice,它应该验证UserName,在SOAP Request xml头中发送的密码。

我的请求xml将如下所示

<s11:Envelope xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/">
   <s11:Header>
      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken>
            <wsse:Username>User_Name</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PASSWORD</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
      <wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">DeliverAccountInvestigationCaseStatus</wsa:Action>
      <wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://rp.baml.com</wsa:To>
      <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">Test from APP_NAME</wsa:MessageID>
   </s11:Header>
   <s11:Body>
      <tns:DeliverAccountInvestigationCaseStatusRequest xsi:schemaLocation="http://rp.baml.com/data/DeliverAccountInvestigationCaseStatusV001 DeliverAccountInvestigationCaseStatusV001.xsd" xmlns:tns="http://rp.baml.com/data/DeliverAccountInvestigationCaseStatusV001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <tns:ReferenceNumber type="GSS">1-</tns:ReferenceNumber>
         <tns:TimeStamp>2014-01-31</tns:TimeStamp>
         <tns:Status></tns:Status>
         <tns:Resolution></tns:Resolution>
         <tns:Comment>Test</tns:Comment>
      </tns:DeliverAccountInvestigationCaseStatusRequest>
   </s11:Body>
</s11:Envelope>

如果标题中的用户名或密码不正确,我的Web服务应该抛出错误。

1 个答案:

答案 0 :(得分:0)

模拟响应时,您正在模拟对服务请求的响应。您通常会在无法访问其中一个支持Web服务时进行模拟,或者尚未构建。

这意味着您可以模拟任何类型的响应。如果您需要验证用户名和密码,则必须自己编写验证代码。

查看soapUI.org的service mocking guide了解一些关于模拟的背景知识。