2014-02-23 71 views
2

我想創建一個mockWebservice,它應該驗證用戶名,在SOAP請求xml頭中發送的密碼。在SOAP UI中啓用WS安全認證mockService

我的請求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服務應該拋出錯誤,如果,用戶名或密碼是不是在正確的頭。

+0

你的問題是什麼?你做了什麼努力來滿足要求? – lorenz

回答

0

當你模擬一個響應時,你正在模擬對服務請求的響應。當您無法訪問其中一種支持Web服務或者尚未構建時,您通常會進行模擬。

這意味着你可以嘲笑任何形式的迴應。如果您需要驗證用戶名和密碼,則必須自己編寫驗證代碼。

查看soapUI.org的service mocking guide關於嘲弄的一些背景。