2009-02-18 134 views
3

我有一個WCF客戶端代理連接到第三方Web服務。 該代理幾乎可以正常工作,除了功能。處理WCF代理空返回問題

該功能對ASMX代理正常工作。

我已添加服務跟蹤日誌記錄,並可以看到服務回來的響應。 只有代理返回null。

所以現在我知道代理服務器有問題。

從哪裏來?

解決方案 我發現了這個問題。 WCF不如ASMX代理寬容。 服務WSDL指定返回的對象被稱爲「數據」,並且傳回的實際xml被稱爲「結果」

所以這是一個偉大的鵝追逐!我想我在這個問題上浪費了4個小時!

+0

需要更多細節 - 問題是什麼? ASMX位與所有相關,還是僅僅是講故事? – Brian 2009-02-18 09:30:34

+0

可能不是非常相關。可能會編輯它。 基本上它適用於ASMX - 爲什麼不是WCF代理? – 2009-02-18 09:31:42

回答

7

您可以嘗試使用跟蹤查看器更詳細地分析WCF通信,並在遇到錯誤時查找更多詳細信息。

在app.config(客戶端)和web.config(服務器)中,您可以添加塊。要啓用跟蹤,只需添加標誌性塊,並在應用程序運行時在指定位置生成跟蹤文件。這應該使您能夠深入瞭解問題。

跟蹤查看器,可以發現:

( 「C:\ Program Files文件\微軟的SDK \的Windows \ v6.0A \ BIN \ SvcTraceViewer.exe」)

信息的跟蹤查看器用法:

http://msdn.microsoft.com/en-us/library/aa751795.aspx

此外,它是什麼類型的方法?它是否返回複雜類型或簡單類型?

增加: 啊,對錯誤的讀取抱歉,沒有意識到你沒有控制服務器端。我會嘗試更新服務引用/代理(您可能已經這樣做了),並檢查是否有任何更改。

WCF不會讓追蹤​​問題非常容易,我很害怕。是否有可能爲有效的調用提供方法簽名,而不能提供哪些數據類型正在傳遞的方法簽名?