我遇到了一个自动生成的服务引用问题,该引用解析了包含&符号(“&”)字符的响应(由.NET自动完成的解析)。
所以我正在向外部服务发送请求。该请求包含一个由.NET自动序列化的对象。该对象包含一个字符串属性objectName =“something& something else”。请求正确通过,并在另一端收到。根据日志,值也按原样发回。但是,在收到我们方的回复后,服务参考无法解析“&”位:
为操作反序列化回复消息正文时出错 'addToMonitoring'。服务器堆栈跟踪:at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader 阅读器,MessageVersion版本,XmlSerializer序列化器, MessagePartDescription returnPart,MessagePartDescriptionCollection bodyParts,Object []参数,布尔isRequest)at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader,MessageVersion版本,字符串操作,MessageDescription messageDescription,Object []参数,Boolean isRequest)at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(消息 message,Object []参数,布尔isRequest)at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(消息 消息,对象[]参数)at System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc&安培; rpc)at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc)at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway,ProxyOperationRuntime操作,Object [] ins, 对象[]出局,TimeSpan超时)at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime operation)at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(即时聊天 消息)
在[0]处重新抛出异常:at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天 reqMsg,IMessage retMsg)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&安培; msgData,Int32类型)at FinCIS.CIR.SATConsumerBLL.SATMonitoringServiceReference.monitoring_4_03_00_PortType.addToMonitoring(addToMonitoringRequest 请求) FinCIS.CIR.SATConsumerBLL.SATMonitoringServiceReference.monitoring_4_03_00_PortTypeClient.addToMonitoring(SecurityHeaderType 安全性,requestType2 addToMonitoring1)at FinCIS.CIR.SATConsumerBLL.ServiceWrapper.SATCompanyMonitoringServiceWrapper<> c__DisplayClass6.b__5(MonitoringRequestUnit 单元)
内部异常:
XML文档中存在错误(22,20)。
内心异常:
意外的文件结束。以下元素未关闭:objectName,monitoringObject,monitoringMaintenanceResponse,Body,Envelope。第22行,第20位。
知道如何解决这个问题吗?