2017-10-17 154 views
1

我有一個SOAP Web服務的WSDL,我通過我的MVC應用程序來使用它。如何獲取SOAP請求消息的xml表示?

從將WSDL作爲Web服務添加到我的Visual Studio解決方案中,它會自動爲我創建一個代理類,並處理所有序列化/不穩定,這對我來說真的很棒。我一直在使用這個代理類來調用/發送我的SOAP請求到Web服務(使用純C#代碼並且不涉及XML),並且我收到了我的響應消息,並且一切都很好。

但是,現在我需要找到什麼是我發送到Web服務的SOAP消息的確切XML表示。我怎樣才能找到/找到/做到這一點?

+0

您可以隨時跟蹤和編寫SOAP請求/響應。檢查此鏈接:https://stackoverflow.com/questions/461744/get-soap-message-before-sending-it-to-the-webservice-in-net。如果您只希望檢查並不記錄或寫入,我會推薦使用Fiddler。 – praty

回答

1

,你可以做這樣的

var serxml = new System.Xml.Serialization.XmlSerializer(request.GetType()); 
var ms = new MemoryStream(); 
serxml.Serialize(ms, request); 
string xml = Encoding.UTF8.GetString(ms.ToArray()); 

其中XML是你的原始SOAP

2

這很容易使用SOAPUI。

  1. 下載SoapUI
  2. 創建一個指向您的 WSDL的新SOAP項目。 enter image description here

  3. 導入WSDL打開的請求,並在一些 填入值後。換句話說,創建一個真正的SOAP請求。

    enter image description here

  4. 按綠色播放按鈕在服務器上執行的請求。

    enter image description here

  5. 得到的迴應 enter image description here
+0

簡而言之,一個答案!投票! –

+0

謝謝你的回覆。這肯定有幫助。但是,我正在查找請求的日誌記錄。我正在查看SOAPExtension,但由於某種原因,在我創建了擴展類並修改了我的web.config文件後,我仍然無法查看在調用soap服務時創建的任何日誌。請注意,如果你有任何建議嗎? – CB4

+0

@ Cb4我使用了AOP和Log4Net的混合體,它像一個魅力一樣工作。 – Namphibian

相關問題