Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序请求WCF服务(序列化异常-utf-8相关)_Java_Android_Wcf_Utf 8_Apache Httpclient 4.x - Fatal编程技术网

Java Android应用程序请求WCF服务(序列化异常-utf-8相关)

Java Android应用程序请求WCF服务(序列化异常-utf-8相关),java,android,wcf,utf-8,apache-httpclient-4.x,Java,Android,Wcf,Utf 8,Apache Httpclient 4.x,从Android应用程序到WCF服务的某些请求会导致以下错误: System.Runtime.Serialization.SerializationException:发生错误 反序列化xxx.SaveChangesCommand类型的对象时出错。 '�rg�rden'包含无效的UTF8字节。-->System.Xml.Xml异常: '�rg�rden'包含无效的UTF8字节。--> System.Text.DecoderFallbackException:无法转换字节[E6] 从指定代码页到U

从Android应用程序到WCF服务的某些请求会导致以下错误:

System.Runtime.Serialization.SerializationException:发生错误 反序列化xxx.SaveChangesCommand类型的对象时出错。 '�rg�rden'包含无效的UTF8字节。-->System.Xml.Xml异常: '�rg�rden'包含无效的UTF8字节。--> System.Text.DecoderFallbackException:无法转换字节[E6] 从指定代码页到Unicode的索引0处

在 System.Text.DecodeXceptionFallBackBuffer.Throw(字节[]bytesUnknown, Int32索引)在 System.Text.DecoderExceptionFallbackBuffer.Fallback(字节[]) 字节未知,Int32索引)位于 System.Text.DecoderFallbackBuffer.InternalFallback(字节[]字节,字节* 字节,字符*&字符)在 System.Text.UTF8Encoding.FallbackInvalidByteSequence(字节*&pSrc, Int32 ch,DecoderFallbackBuffer回退,Char*&pTarget)位于 System.Text.UTF8Encoding.GetChars(字节*字节,Int32字节计数,字符* 字符数,Int32字符数,DecoderNLS baseDecoder)位于 System.Text.UTF8Encoding.GetChars(字节[]字节,Int32字节索引,Int32 字节数,Char[]chars,Int32 charIndex)在 ToChars(字节[]缓冲区,Int32偏移量,Int32 计数,字符[]字符,Int32字符偏移量)

堆栈跟踪---位于System.Xml.XmlConverter.ToChars(字节[]缓冲区, Int32偏移量,Int32计数,字符[]字符,Int32字符偏移量)位于 System.Xml.XmlBufferReader.GetChars(Int32偏移量,Int32长度,Char[] 位于System.Xml.XmlBufferReader.GetString(Int32偏移量,Int32 在System.Xml.ValueHandle.GetString()处 System.Xml.XmlBaseReader.ReadContentAsString()位于 System.Xml.XmlBaseReader.ReadElementContentAsString()位于 ReadArrayOfstringFromJson(XmlReaderDelegator, XmlObjectSerializerReadContextComplexJson,XmlDictionaryString, XmlDictionaryString,CollectionDataContract)位于 System.Runtime.Serialization.Json.JsonCollectionDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader,XmlObjectSerializerReadContextComplexJson上下文)位于 System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader,XmlObjectSerializerReadContextComplexJson上下文)位于 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator 读卡器,字符串名称,字符串ns,类型declaredType,数据协定& 数据合同)在 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader,Int32 id,RuntimeTypeHandle declaredTypeHandle,字符串 名称,字符串ns)位于 ReadSaveShoppingListChangesCommandFromJson(XmlReaderDelegator, XmlObjectSerializerReadContextComplexJson,XmlDictionaryString, XmlDictionaryString[])位于 System.Runtime.Serialization.Json.JsonClassDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader,XmlObjectSerializerReadContextComplexJson上下文)位于 System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader,XmlObjectSerializerReadContextComplexJson上下文)位于 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator 读卡器,字符串名称,字符串ns,类型declaredType,数据协定& 数据合同)在 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader,类型declaredType,数据契约数据契约,字符串名称, 字符串ns)在 System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader,布尔验证对象名)位于 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator 读取器,布尔verifyObjectName,DataContractResolver 数据解析程序)

---内部异常堆栈跟踪结束---
在 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator 读取器,布尔verifyObjectName,DataContractResolver dataContractResolver)在 System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader 读取器,布尔值验证对象名)位于 System.ServiceModel.Dispatcher.SingleBodyParameterMessageFormatter.DeserializeRequest(消息 消息,对象[]参数)位于 System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(消息 消息,对象[]参数)位于 System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(消息 消息,对象[]参数)位于 System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)位于System.ServiceModel.Dispatcher.MessageRpc.Process(布尔值 等操作上下文集)

我一直在寻找一些类似的案例,我发现了以下链接:

,可能会使用非最短形式修复UTF-8的错误-如果这是我认为的案例

但我不明白为什么必须进行此修复,因为正如这里所述:

新的UTF-8字符集实现已集成到JDK7中, 打开JDK 6、JDK 6更新11及更高版本、JDK5.0u17和1.4.2_19

当我查看请求时,我看到:

HTTP\u用户\u代理:Apache HttpClient/不可用(java 1.4

但是Android应用程序是用jdk1.7.0_13编译的


我应该如何解决这个问题?

我认为XML不完全是UTF-8格式的。 看到了吗�rg�rden’类文本可能是UTF-8使用的其他格式。 比如ISO 8859-1之类的<
--- End of inner exception