2015-08-24 58 views
0

我正在學習WCF並使用消息協議SOAP(HTTP和XML)。WCF SOAP webservice - 爲什麼我不需要使用XML?

我明白這是一個基於XML的協議。我在指南中看到的事情是,您需要發送一個XML Soap Envelope來發出請求,以便服務可以用XML迴應。但是,當我將客戶端設置爲使用該服務時,我根本不傳遞任何XML,並且我得到的響應是一個字符串。

Dim client As webservice.Service1Client = New webservice.Service1Client() 

' I was expecting this to be XML and I would need to parse it... 
' In the service side I do say "Return string" - but should I be stating "Return type of XML"? 

Dim response As String = client.serviceMethod("test") 

這一切都有效,但我只是想知道這是否是正確的程序?我有點擔心,我不是在創建XML,而是服務沒有返回XML的Envelope。

感謝

+0

SOAP不是REST的反義詞 –

+0

我同意我的術語很差。我會刪除。 – user3428422

回答

2

我原以爲這是XML和我需要解析它

如果你使用類似fiddler打電話給你的服務或SoapUI,你將能夠看到SOAP XML原始格式的請求和響應消息。

但是,當您在WCF中使用SOAP服務時,您會被框架從此裸露的消息交換中抽象出來。

你不需要再考慮XML了,你只需要根據請求/響應語義和返回的數據類型(在你的情況下是一個System.String)來思考你正在調用的服務操作。

WCF仍然在基於一系列SOAP消息的交換進行復雜的對話,您不需要看到任何。

+0

我以爲是這樣。很好,謝謝 – user3428422