2010-03-26 9 views
1

第三次編輯:我現在認爲這個問題是由於SOAP版本不匹配(1.1請求,1.2響應)僞裝成命名空間問題。混合版本或只是不好的風格是非法的嗎?如果我不能更改我的SOAP版本或服務,我完全不幸運了嗎?在請求和響應之間有不同的SOAP名稱空間/版本是否合法?

第二次編輯:澄清錯誤信息,並試圖減少「tl; dr」的性質。

編輯:[鏈接刪除,不相關]使用的soapUI

,我送的是開頭的請求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ... 

,並獲得以啓動響應:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" ... 

我知道該服務正在獲取信息,因爲流水線正在運行。但是,我的soapUI測試步驟失敗。它有兩個主動斷言:「SOAP Response」和「Not SOAP Fault」。故障標記是旁邊的「SOAP響應,」使用以下信息:

線-1:元素信封@http://www.w3.org/2003/05/soap-envelope不是有效的信封@http://schemas.xmlsoap.org/soap/envelope/文檔或有效的置換。

我試着混合並匹配命名空間前綴和模式URL。改變前綴似乎沒有效果;更改URL會導致VersionMismatch錯誤。我也嘗試使用替代組,但這似乎不合法。

回答

0

兩個名稱空間都是完全有效的(您甚至可以導航到每個名稱空間以查看架構定義)。聽起來好像問題出在您的Soap UI測試實用程序上,並使用請求中的名稱空間處理響應。

服務描述請求和響應負載,命名空間有助於定義該定義。雖然在兩者之間混合/匹配這些定義看起來很糟糕,但它仍然有效。

儘管模式在請求和響應之間混合,但它們只是解釋請求和響應值時的助手。

相關問題