Web参照として定義されているリモートXMLSOAPWebサービスを呼び出す.NETクライアントについて考えてみます。クライアントはサービスを呼び出し、戻りXMLをオブジェクトに逆シリアル化しようとしています。
Webメソッドは正しく実行されており、サービスから返されるXMLは整形式であり、Fiddlerで確認されています。Webサービスは、別のクライアント(.NET 2.0)が問題なく使用しているため、正常に機能することがわかっています。
.NET Webサービスプロキシクラスが返されたXMLを逆シリアル化しようとすると、次のエラーがスローされます。
System.InvalidOperationException:XMLドキュメントにエラーがあります(1、1999)。---> System.Xml.XmlException:'EndElement'は無効なXmlNodeTypeです。
1行目、1999年の位置。Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader_PRPA_AR101202_Service.Read135_MCCI_MT000200LocatedEntity(Boolean isNullable、Boolean checkType) のSystem.Xml.XmlReader.ReadStartElement( )
不平を言っているXML応答の行/列(1,1999)は次/
の</device>
とおりです。
<sender>
<device>
..snip..
<location classCode="IDENT" realmCode="xyz" />
</device>
.NET逆シリアル化でこの問題を解決するにはどうすればよいですか?
解決策のない解決策の試み/詳細情報:
- 最新の修正を期待して、.NET4から4.5に移動しました
System.Xml
- 逆シリアル化されている匿名化された応答ドキュメント
- フルスタックトレース