8

Durante un par de días tenemos un problema con nuestra aplicación. Usamos SoapHttpClientProtocol para invocar java mbeans. Esto básicamente hace una llamada a un servicio web de Java para invocar métodos.SoapHttpClientProtocol log response xml

Nuestro problema es que a veces tenemos la siguiente excepción:

Hay un error en el documento XML (1, 172,089). en System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, Cadena encodingStyle, XmlDeserializationEvents eventos)
en System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, Cadena encodingStyle) en System.Web.Services. Protocols.SoapHttpClientProtocol.ReadResponse (SoapClientMessage mensaje, la respuesta WebResponse, la corriente responseStream, Boolean asyncCall) en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object [] parámetros) en DynamicMBeanResourceBinding.Invoke (OperationRequestType ManagedResourceOperation) en JMXConnectorService.cs: línea 781 en JMXWSClient.InvokeMethodOnObject (String objectname, Cadena methodName, ParameterType [] paramValue) en la conectividad \ Client.cs: línea 132

causada por: Fin de archivo inesperado se ha producido. Los siguientes elementos no están cerradas : Icono

Nuestro último código en la capa de comunicación es:

/// <remarks/> 
[System.Web.Services.Protocols.SoapHeaderAttribute("soapHeaders", Direction = SoapHeaderDirection.In)] 
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://jsr262.dev.java.net/DynamicMBeanResource/Invoke", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Bare)] 
[return: System.Xml.Serialization.XmlElementAttribute("ManagedResourceOperationResult", Namespace = "http://jsr262.dev.java.net/jmxconnector")] 
public GenericValueType Invoke([System.Xml.Serialization.XmlElementAttribute(Namespace = "http://jsr262.dev.java.net/jmxconnector")] OperationRequestType ManagedResourceOperation) 
{ 
    object[] results = this.Invoke("Invoke", new object[] {ManagedResourceOperation}); 
    return ((GenericValueType)(results[0])); 
} 

¿Hay alguna forma de registrar el XML de respuesta antes de que se está deserializado por el marco? Cualquier ayuda o idea es muy bienvenida.

Respuesta