2010-06-20 40 views

回答

0

HTTP是傳輸機制,SOAP是有效載荷協議。 SOAP可以通過其他協議傳輸,但HTTP是應用最廣泛的。這與HTML和HTTP非常相似。 HTTP是傳輸,而HTML是有效載荷。您也可以通過電子郵件發送HTML文件,這意味着它不再使用HTTP。

當您調用webmethod(或任何其他webservice)時,它是「SOAP over HTTP」調用。 HTTP包含一個設置爲「soap + xml」的Content-Type頭。這可以讓服務器知道包含哪種有效負載,以及如何解析它。不過,我並不確定ASP.NET webmethods是如何看待這一點的。它可能試圖將HTTP請求解析爲SOAP,如果不解析則會出錯。如果您可以在同一個網址上支持多種格式,通常只需檢查Content-Type。

值在HTTP響應中作爲SOAP格式的消息返回。因此,服務器不是發回HTML,而是以SOAP格式發送XML文檔。

+0

感謝您的投入 – Cloud2010 2010-06-22 18:10:07

0

HTTP是用於傳輸SOAP格式的有效載荷的傳輸方式。你也可以使用TCP來傳輸SOAP,或者其他任何可能引起你想象的事情。顯然,HTTP是SOAP有效載荷最常見的傳輸方式,因爲這些東西是爲基於Web的RPC構建的。