2017-02-27 38 views
3

我有一個WCF服務,我試圖將它與SOAP UI PRO結合使用。在第一次執行時,我得到以下響應:SOAP UI/SOAP UI中的內容類型應用程序/ soap + msbin1 PRO

HTTP/1.1 415由於內容類型'application/soap + xml; charset = UTF-8',無法處理消息。不是期望的類型'application/soap + msbin1'。

我發現我應該補充的的Content-Type首部和我這樣做(即內容類型的應用程序/肥皂+ msbin1)。但是,錯誤現在演變爲:

HTTP/1.1 400錯誤的請求

我得知二進制編碼在SOAP UI不支持/ SOAP UI PRO/READY API,和我在這個發現之後,這種感覺有點卡住了。

我想知道是否有解決此問題的解決方法。因此,是否有人設法使用groovy腳本,插件,庫或其他不同的東西來在SOAP UI PRO中集成二進制編碼。

任何幫助,非常感謝。

+0

如果您使用Chorme的擴展名'POSTMAN'嘗試相同,結果如何? – Rao

+0

@Rao - 同樣的事情... –

+0

希望你發送正確的請求。 – Rao

回答

2

應用程序/ soap + msbin1是WCF的二進制編碼。您使用文本編碼發送請求。這就是服務器端給出的原因:不良請求

據我所知,SoapUI不支持application/soap + msbin1編碼,也沒有插件可用。

如果你需要測試用了SoapUI的服務,你有兩個選擇:

  1. 更改服務(服務器端)結合(在web.config中通過配置)文本編碼。請注意,服務可以有多個綁定,您可以使用文本編碼測試綁定,而WCF客戶端可以使用二進制(application/soap + msbin1)編碼。無論如何,文本編碼都需要實現與非WCF客戶端(如SoapUI)的互操作性。你可以檢查Microsoft documentation瞭解更多。

  2. 將您的soap請求編碼爲二進制數據,並將其作爲HTTP PUT請求發送。當然你也需要解碼服務響應來理解它。這可能是一次性測試的一種方式,否則太麻煩了。您可以使用Groovy腳本即時執行二進制編碼/解碼,以防需要進行多次測試,但需要進行一些編程。

我絕對推薦第一個選項。

Karel

相關問題