2012-01-16 48 views
1

我正在使用客戶提供的.Net API(幾個.Net DLL)的項目。我已經構建了基於此API的應用程序。應用程序按預期在我的機器上運行。但是當我嘗試在客戶端機器上部署它時,它會失敗並出現相當一般的異常。我試着用google搜索這個例外,但沒有任何結論可以找到。如何處理.Net XML序列化異常?

要對此API給出一個粗略的概念,它將包裝一個Web服務使用者,因此需要將方法參數封送到XML中(沒有可用的源代碼)。以下是異常的堆棧跟蹤: -

System.InvalidOperationException:生成 XML文檔時發生錯誤。 ---> System.ArgumentException:字符串長度不能爲零 。在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterStreamInformation.Write5_StreamInformation(對象 O)---內部異常堆棧跟蹤的末尾在 System.Xml.Serialization.XmlSerializer.Serialize(的XmlWriter的XmlWriter, 對象O,XmlSerializerNamespaces命名空間,字符串的encodingStyle, 字符串ID)處 Microsoft.SqlServer.DataWarehouse.Loader.StringSerializer`1.Serialize(TSerializable 實例 System.Xml.Serialization.XmlSerializer.Serialize(的TextWriter 的TextWriter,對象o,XmlSerializerNamespaces命名空間) )at Microsoft.SqlServer.DataWarehouse.Loader.LoaderClient.BeginExecuteBinary(AsyncCallback endLoadCallback,的AsyncCallback startSendingDataCallback,對象狀態) >在 Microsoft.SqlServer.DataWarehouse.Loader.AABinLoaderClient.CofingDoLoad(字符串[] configVals)

幀以斜體表示我們的,而在粗框應用代表客戶的API 如果任何人在過去遇到此異常並知道任何解決方法,請讓我知道。

+2

這是使用自定義XML序列化還是爲您生成的序列化? – jermny 2012-01-16 12:18:36

回答

1

我試圖解析XML時遇到過這種錯誤。我看到「String不能長度爲零」的最常見的地方是當它試圖在字符串中找到一個特定的地方時。你知道這個API是否使用XML命名空間嗎?

沒有看到任何代碼,很難提供任何詳細的問題分析。

+0

我已經更新了整個堆棧跟蹤,你可以看看它並發表評論。 – amod 2012-01-16 12:29:35

+0

如果API正在爲您序列化數據,則很難嘗試解決方法。你是否提供要序列化的數據? – mrstebo 2012-01-16 12:36:58

+0

yes api正在爲我序列化數據。 – amod 2012-01-16 12:41:09