2014-01-24 2 views
0

Я получаю исключение при попытке использовать службу (сторонняя сторона), ниже - трассировка стека для исключения.Произошла ошибка в сериализации тела сообщения

StackTrace " at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)\r\n at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle)\r\n at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.SerializeBody(XmlDictionaryWriter writer, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object returnValue, Object[] parameters)\r\n at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.SerializeBody(XmlDictionaryWriter writer, MessageVersion version, String action, MessageDescription messageDescription, Object returnValue, Object[] parameters, Boolean isRequest)" string 

Раньше он работал нормально, но после обновления сервисной ссылки он начал бросать вышеизложенное исключение.

Также попробовал решение, описанное в приведенной ниже ссылке, но не помогло.

There was an error in serializing body of message

Цените вашу любезную помощь в решении того же.

Ниже приведен код, который я использую

// reportContent оказывает данные XML в виде строки.

 XmlDocument xmlReportDocument = new XmlDocument(); 

     xmlReportDocument.LoadXml(reportContent); 



      RequestHandlerProcessSoapClient ws = new RequestHandlerProcessSoapClient(); 

      ws.ClientCredentials.UserName.UserName = _reportFormatData.User; 

      ws.ClientCredentials.UserName.Password = _reportFormatData.Password; 

///Create the request 

       myRequest request = new myRequest(); 

       request.Requestor = new Requestor(); 

       request.Requestor.ApplicationID = _reportFormatData.ApplicationId; 

       request.Requestor.Stylesheet = template; 

       request.Requestor.Environment = _reportFormatData.Environment; 

       request.Payload = xmlReportDocument; 

       ///Setup the attachements 

       myAttachmentRequest attachmentrequest = new myAttachmentRequest(); 

       attachmentrequest.setRequest = request; 

myResponse serResp = ws.renderDocument (attachmentrequest) // Ошибка появляется в этой строке.

+3

Вместо того, чтобы предоставлять ссылки, описывайте вашу проблему. –

+2

Пожалуйста, задайте вопрос, а не ссылку на вопрос –

+3

напишите свой код !!! – Raghurocks

ответ

0

Наконец-то нашел решение этого вопроса. После добавления ссылки на службу по умолчанию свойство loadload в Reference.cs возвращало значение типа «Object», и я изменил его, чтобы вернуть System.Xml, и он щелкнул.

Смежные вопросы