2012-01-16 7 views
1

私は、顧客が提供する.Net API(いくつかの.Net DLL)を利用するプロジェクトに取り組んでいます。私はこのAPIに基づいてアプリケーションを構築しました。アプリケーションは私のマシンでは正常に動作します。しかし、クライアントのマシンに展開しようとすると、かなり一般的な例外が発生して失敗します。私はこの例外のためにグーグルを試みたが、決定的なものは見つからなかった。.Net XMLのシリアル化の例外を処理する方法?

このAPIの概要を説明すると、Webサービスコンシューマをラップするため、メソッドパラメータをXMLにマーシャリングする必要があります(ソースコードはありません)。次の例外のスタックトレースがあります。 -

System.InvalidOperationException: XMLドキュメントの生成中にエラーが発生しました。 ---> System.ArgumentException:文字列の長さが0からまでではありません。 System.Xml.Serialization.XmlSerializer.Serialize(たXmlWriterたXmlWriterで Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterStreamInformation.Write5_StreamInformation(オブジェクト O)---内部例外スタックトレースの終わり---、 オブジェクトo、XmlSerializerNamespacesで Microsoft.SqlServer.DataWarehouse.Loader.StringSerializer`1.Serialize(TSerializable インスタンスでSystem.Xml.Serialization.XmlSerializer.Serialize(たTextWriter たTextWriter、オブジェクトo、XmlSerializerNamespaces名前空間)でのネームスペース、文字列encodingStyleを、 文字列ID) )( )Microsoft.SqlServer.DataWarehouse.Loader.LoaderClient.BeginExecuteBinary(AsyncCallback 斜体でendLoadCallback、AsyncCallback startSendingDataCallback、状態オブジェクト) > Microsoft.SqlServer.DataWarehouse.Loader.AABinLoaderClient.CofingDoLoad(文字列[] configValsで)

フレームは太字でフレームながら、我々のアプリケーションを表しますクライアントのAPIを表します 過去にこの例外が発生した場合は、回避策をご存知の方は教えてください。

+2

これはカスタムxmlシリアル化を使用していますか、またはあなたのために生成されたシリアル化ですか? – jermny

答えて

1

XMLを解析しようとすると、この種のエラーが発生しました。 "文字列の長さをゼロにすることはできません"という最も一般的なエラーは、文字列内の特定の場所を検索しようとしているときです。このAPIがXML名前空間を使用しているかどうか知っていますか?

コードを確認することなく、問題の詳細な分析を行うことは困難です。

+0

stacktrace全体を更新しました。あなたはそれを見てコメントすることができますか? – amod

+0

APIがデータをシリアル化している場合、回避策を試すのは難しいです。シリアライズするデータを提供していますか? – mrstebo

+0

はいapiが私のためにデータをシリアル化しています。 – amod

関連する問題