2010-07-28 58 views
1

我怎樣才能得到我的Web服務函數的SOAP標題爲XML?如何獲得XML標頭的SOAP標頭?

我需要我的工作SOAP頭的XML版本作爲一個破碎的SOAP頭的人的例子。他使用的是不同的編程語言,但由於標題是以XML格式發送的,我們希望我們可以輕鬆地比較這些標題。我使用C#和ToString()只是給了我對象的名稱。谷歌搜索之後,我嘗試了Fiddler,但沒有收到任何東西,SOAP擴展看起來太複雜了,看起來像一個非常簡單的任務。

回答

4

有沒有簡單的方法與ASMX網絡服務做到這一點。如果您使用WCF,開啓消息日誌記錄將是一件微不足道的事情。

提琴手應該抓住一切,這是值得學習如何使用。請務必查看聯機文檔以瞭解如何捕獲本地主機到本地主機的流量。

+0

+1 - 我使用Fiddler爲SAP開發人員提供示例。 – 2010-07-28 13:55:34

+0

好吧,我想我想出瞭如何捕獲本地主機的流量,但我仍然不確定我應該在哪裏尋找SOAP xml – thchaver 2010-07-28 16:39:20

+0

我不明白。它在交通中。請求和響應。玩標籤直到找到它。 – 2010-07-28 17:43:58

1

this question的接受答案提到您可以使用soapUI捕獲網絡服務的流量。您可以使用它作爲代理或HTTP隧道來捕獲發送到Web服務的消息。我認爲在HTTP隧道模式下使用它是有道理的,因爲那樣你就不必對你的客戶端做任何事情,除了將URL指向soapUI而不是實際的服務。

The soapUI website talks about the SOAP Monitor feature,雖然我不認爲它提供了一個很好的解釋設置HTTP隧道。

以下是參與(基於soapUI的3.0.1)中的步驟:

  1. 打開香皂UI
  2. 創建一個新的soapUI項目... 2.1給您的項目名稱 2.2輸入路徑你的服務的WSDL(http://localhost/.../YourService.asmx?WSDL
  3. 剛創建
  4. 選擇「啓動SOAP監視器」
  5. 選擇項目「HTTP隧道右擊「
  6. 指定」端口「的未使用端口號。默認可能會起作用。
  7. 在「爲HTTP隧道設置端點」中輸入您的Web服務的URL
  8. 如果您使用的是SSL,那麼您可能需要填寫一些其他字段;否則,單擊確定。
  9. HTTP隧道正在運行,因此現在只需重新配置客戶端以使用HTTP隧道而不是實際的Web服務。因此,如果您的實際服務是「http://localhost:1234/YourService.asmx」,那麼請重新配置您的客戶端以使用「http://localhost:{Port} /YourService.asmx」,其中{端口}是您在步驟#6中輸入的數字。
  10. 現在只需正常運行你的客戶端。您將看到soapUI界面中記錄的流量。選擇一條消息並單擊窗口底部的「消息內容」按鈕以查看實際的SOAP消息。