2012-12-05 50 views
1

我已經嘗試使用soapUI來測試,但它不支持啓用安全性時的wsHttpBinding。 soapUI在使用wsHttpBinding時不起作用,並且安全性不是。測試WCF服務wsHttpBinding與安全模式=「TransportWithMessageCredential」

我們也嘗試過WCF Storm,它可以工作,我們可以加載我們的客戶端配置文件,但是我們正在尋找WCF Storm的其他替代方案。

是否有任何其他類似於soapUI的工具,它建議使用以上配置?

回答

2

wsHttpBinding僅僅是微軟對某些WS- *相關配置的模糊命名。 SOAPUI支持一些與安全相關的配置,如果您使用TransportWithMessageCredential安全模式,您應該沒有問題。你只需要連接到正確安全的HTTPS端點和provide credentials (User name)爲您的請求(也可能是一個時間戳)。

+0

謝謝 - 我會再試一次。不過,我看到這張貼在soapUI論壇http://www.soapui.org/forum/viewtopic.php?f=2&t=15153 - 這聲稱soapUI不支持WsHttpBinding,所以我有點困惑? – VoodooChild

+1

支持取決於在WSHttpBinding上配置的其他功能。如果你不使用分佈式事務,可靠的消息傳遞和高級安全性(這意味着'消息'模式),你應該沒問題。您需要使用帶有純文本密碼的WS-Addressing 1.0 + UserName 1.0令牌的SOAP 1.2,並使用HTTPS。所有應該在SOAPUI中可用。 –

+0

嗨,我知道這個答案是幾年前,但目前我有類似的挑戰,並可以使用您的輸入。如果您有任何帶寬,請參閱http://stackoverflow.com/q/32703632/247184 - 謝謝。 – VoodooChild

0

當我嘗試使用wsHttpBinding和TransportWithMessageCredential安全套裝測試wcf服務時,我遇到了類似的問題。

在每次調用了SoapUI會得到一個錯誤信息,指出:

無法處理的消息。這很可能是因爲動作'http://www.mysite.com/ISomeService/SomeMethod'不正確,或者是因爲該消息包含無效或過期的安全上下文令牌或因爲綁定之間存在不匹配。如果服務由於不活動而中止通道,則安全上下文令牌將無效。爲防止服務過早地中止空閒會話,會增加服務端點綁定的接收超時。

經過大量的試驗和錯誤並瀏覽了我需要啓用WS-A尋址並啓用wsa:To元素的web上的gazillion文章。

這讓我有點進一步,但我仍然得到了同樣的錯誤信息。

那麼這個安全上下文是什麼呢?我的客戶在每次通話後處理,因此不需要SCT ref:SO post

設置establishSecurityContext =「false」讓我感到安全上下文令牌錯誤,並且事實證明一切都準備好搖擺和滾動。

但是,如果你禁用安全上下文,不使WSA:爲元素,那麼你會得到這樣的錯誤消息:在爲「」不能處理

消息由於EndpointDispatcher中的AddressFilter不匹配,接收器。檢查發件人和收件人的EndpointAddresses是否同意。

但請注意參考文章。如果你在每次調用之後都沒有處理客戶端,那麼將establishSecurityContext設置爲false來添加另一個單獨的綁定可能是明智的。

換句話說:據我所知,SoapUI似乎不支持安全上下文。

0

我的解決辦法是使用傳出的WS-Security配置,我將解釋步驟:

  • 「顯示項目視圖」(右鍵單擊文件夾Proyect)
  • 進入 「WS-Security的配置」標籤
  • 在頂部添加圖標並指定「用戶」或其他內容。
  • 然後進入第二個添加圖標(底部面板)並在「PasswordText」中輸入用戶名,密碼和PasswordType(其他2個複選框標記)。
  • 最後轉到soap請求,選擇授權基本和「發送WSS:」用戶或您創建的另一個用戶。

在添加傳出WSS後記住關閉所有請求窗口。

希望它有幫助,歡呼聲。