首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.Xml.Serialization.XmlSerializer.Deserialize

System.Xml.Serialization.XmlSerializer.Deserialize
EN

Stack Overflow用户
提问于 2013-01-30 09:53:05
回答 1查看 2.5K关注 0票数 0

System.Xml.Serialization.XmlSerializer.Deserialize中获取错误--这个XML文件接收表单为Salesfroce,异常发生在binding.Query()方法中。

代码语言:javascript
复制
string xml = @"<?xml version='1.0' encoding='UTF-8'?>
                <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' 
                        xmlns='urn:enterprise.soap.sforce.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
                        xmlns:sf='urn:sobject.enterprise.soap.sforce.com'>
                        <soapenv:Body>
                            <queryResponse>
                                <result>
                                    <done>true</done>
                                    <queryLocator xsi:nil='true'/>
                                    <records xsi:type='sf:Contact_Transaction__c'>
                                        <sf:Id xsi:nil='true'/>
                                        <sf:Is_in_SLA__c>Yes</sf:Is_in_SLA__c>
                                    </records>
                                    <records xsi:type='sf:Contact_Transaction__c'>
                                        <sf:Id xsi:nil='true'/>
                                        <sf:Is_in_SLA__c>Yes</sf:Is_in_SLA__c>
                                    </records>
                                </result>
                            </queryResponse>
                        </soapenv:Body>
                    </soapenv:Envelope>";

上层XML文档是soap responcemessage,它在获取自定义对象数据时从salesforce接收。此XML消息是有效的XML消息。如果我尝试手动使用沙化方法反序列化一个对象,那么也会得到XML内部文档错误。

我的完整堆栈跟踪::FormatException: Input字符串格式不正确。+9416251 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSforceService.Read511_Contact_Transaction__c(Boolean (String s,NumberStyles style,IFormatProvider provider) +36 System.Xml.XmlConvert.ToDouble(String s) +99 NumberStyles checkType +146 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSforceService.Read511_Contact_Transaction__c(Boolean isNullable,Boolean ) +9903 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSforceService.Read579_sObject(Boolean isNullable,布尔checkType) +8124 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSforceService.Read14_QueryResult(Boolean isNullable,+1855 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSforceService.Read722_queryResponse() +594 Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer111.Deserialize(XmlSerializationReader阅读器) +75 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,String encodingStyle,XmlDeserializationEvents events) +130

InvalidOperationException: XML (1461)中有一个错误。( System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,String encodingStyle,XmlDeserializationEvents events) +630 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,String encodingStyle) +33 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,Stream responseStream,布尔asyncCall) +1007 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[]参数) +221

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-30 11:14:34

看看您的模型对象"queryResponse",它会使类型为Double的字段无法设置,因为接收到的值没有有效的格式。可能是该值为null (nil='true'),且该字段不可为空。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14601011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档