Ciao
Sto facendo un programma che invoca un WS tramite "Service References" con Visual Studio. Quando faccio il debub al momento della chiamata del WS, restituisce l'errore "Error in deserializing body of reply message for operation <nomeMetodoWS>".
L'inner exception è: "Cannot assign object of type System.Xml.XmlNode[] to an object of type <NomeSoluzione.NomeServiceReferences.ServiceRespon se>"
codice:
System.ServiceModel.CommunicationException è stata individuata
Message=Error in deserializing body of reply message for operation 'customerStatus'.
Source=mscorlib
StackTrace:
Server stack trace:
at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest)
at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest)
at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)
at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(Message message, Object[] parameters)
at System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at PosteMailBox.FDR_CustomerStatusService.FDR_customerStatus.customerStatus(customerStatusRequest request)
at PosteMailBox.FDR_CustomerStatusService.FDR_customerStatusClient.FDR_CustomerStatusService_FDR_customerStatus_customerStatus(customerStatusRequest request) in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\PosteMailBox\PosteMailBox\Service References\FDR_CustomerStatusService\Reference.vb:line 366
at PosteMailBox.FDR_CustomerStatusService.FDR_customerStatusClient.customerStatus(FDR_customerStatusRequest request) in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\PosteMailBox\PosteMailBox\Service References\FDR_CustomerStatusService\Reference.vb:line 372
at PosteMailBox.test_WS.test02_Allineamento_RPEdb_to_FDRws() in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\PosteMailBox\PosteMailBox\test_WS.vb:line 194
InnerException: System.InvalidOperationException
Message=There is an error in XML document (1, 1359).
Source=System.Xml
StackTrace:
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest)
InnerException: System.InvalidCastException
Message=Cannot assign object of type System.Xml.XmlNode[] to an object of type PosteMailBox.FDR_CustomerStatusService.FDR_customerStatusResponse.
Source=qw0ov3gy
StackTrace:
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderFDR_customerStatus.Read8_customerStatusResponse()
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer1.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
InnerException:
Quello che ho capito è che c'è un errore nel tipo di risposta ricevuto con quello che il client si aspetta. Come si risolve questa cosa?
Grazie a tutti