2014-03-06 40 views
3

我正在編寫一個服務適配器以使用另一個供應商(Pega)託管的Web服務。改變這項服務對我來說不是一種選擇。 當我打電話的方法我得到的錯誤:反序列化操作請求消息體的錯誤

「錯誤在反序列化請求消息的身體操作」

我試圖增加maxStringContentLength和所有。沒有工作。
當檢查響應XML時,我看到很少的long和int變量的空值,我相信這是原因。

有沒有解決這個問題?

+1

這是反序列化。請原諒。 – PAVITRA

+0

此鏈接可能對您有所幫助http://marcipsen.wordpress.com/2009/02/25/wcf-error-in-deserializing-body-of-request-message-for-operation –

+0

謝謝Karthik,但我已經嘗試更改app.config中的設置。正如我所提到的,我相信原因可能是在響應XML中爲long和int變量提供了空值。需要從客戶端解決這個問題。 – PAVITRA

回答

1

從服務端刪除空標籤後,這已得到解決。 .Net客戶端找不到解決方案。

+0

您刪除了哪些空標籤?我患有同樣的問題... – smwikipedia

+0

我有服務端配置爲發送0而不是空元素。 – PAVITRA

+0

謝謝。我用兩件事修復了我的問題:1)將操作的返回類型從簡單字符串類型更改爲使用DataContractAttribute裝飾的自定義類類型。 2)我卸載了干擾jQuery調用的HttpWatch 7.0.22。這是阻止操作參數被髮送的HttpWatch。 – smwikipedia

0

我通過更改請求參數之一的格式解決了這個問題。日期作爲文本傳遞,服務無法解析提供的日期格式。

不知道爲什麼服務的預期日期作爲一個字符串雖然,但這是超出了時間範圍。