考虑.NET客户端调用定义为Web引用的远程XML SOAP Web服务。客户端调用服务,并试图将返回的XML反序列化为对象。XML文档中有错误;反序列化时EndElement是无效的XmlNodeType
Web方法正常执行,并且从服务返回的XML格式正确,在Fiddler中确认。 Web服务是一种已知的良好工作服务,因为我们有另一个客户端(.NET 2.0)正常使用它。
当.NET Web服务代理类试图反序列化返回的XML,这个错误被抛出:
System.InvalidOperationException:有XML文档(1,1999年)中的错误。 ---> System.Xml.XmlException:'EndElement'是一个无效的XmlNodeType。在System.Xml.XmlReader.ReadStartElement()
在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader_PRPA_AR101202_Service.Read135_MCCI_MT000200LocatedEntity(布尔ISNULLABLE,布尔checkType)
的行/列(1行1,1999年位置, 1999),它的抱怨XML response的是/
在</device>
:
<sender>
<device>
..snip..
<location classCode="IDENT" realmCode="xyz" />
</device>
我如何解决与.NET反序列化这个问题?
没有分辨率/详细信息尝试的解决方案:
- 从.NET 4移动到4.5,希望能看到最新
System.Xml
- de-identified response document being deserialized
- full stack trace
是否有相应的(和之前)? –
ChrisBint
2013-03-04 22:46:36
@ChrisBint他的代码包含相应的和前面的。希望..snip ..不包含额外的 –
csj
2013-03-04 23:17:20
@ p.campbell是整个错误是被抛出还是只是它的一部分? – mostruash 2013-03-04 23:23:38