2012-08-23 123 views
0

在樣本SOAP XML請求消息,我注意到,有SOAP信封標籤作爲SOAP信封XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<Header> 
... 

難道沒關係刪除這些標籤?例如,將肥皂信息更改爲,

<soapenv:Envelope> 
<Header> 
... 

這是所有肥皂信息必須具有的標準嗎?

謝謝。

回答

2

soap消息是必需的,接收端可以使用該命名空間來確定肥皂消息的版本。根據我的理解,您使用的命名空間表示此消息遵循Soap 1.1標準。如果您嘗試在該消息中使用Soap 1.2功能,服務器很可能會感到困惑。

肥皂1.1標準

SOAP的第4.1.2不定義基於主要和次要 版本號的一個傳統的版本模式。 SOAP消息必須與「http://schemas.xmlsoap.org/soap/envelope/」 命名空間相關聯的Envelope元素 。如果SOAP應用程序收到一條消息,其中SOAP Envelope元素與另一個名稱空間相關聯,則 應用程序必須將其視爲版本錯誤並丟棄 消息。如果通過諸如HTTP之類的請求/響應協議接收到消息,那麼應用程序必須使用SOAP 「http://schemas.xmlsoap.org/soap/envelope」以SOAP VersionMismatch錯誤代碼消息(參見第4.4節)進行響應/「命名空間。

soap envelope in 1.1
soap envelope in 1.2