我们的应用程序有几天问题。我们使用SoapHttpClientProtocol来调用java mbeans。这基本上调用java webservice来调用方法。
我们的问题是,有时我们会遇到以下异常:
XML文档中存在错误(1,172089)。在 System.Xml.Serialization.XmlSerializer.Deserialize(的XmlReader xmlReader,String encodingStyle,XmlDeserializationEvents事件)
在System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,String encodingStyle)at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 消息,WebResponse响应,流responseStream,布尔值 asyncCall)at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串 methodName,Object [] parameters)at DynamicMBeanResourceBinding.Invoke(OperationRequestType ManagedResourceOperation)在JMXConnectorService.cs中:第781行 JMXWSClient.InvokeMethodOnObject(String objectName,String methodName, Connector \ Client.cs中的ParameterType [] paramValue):第132行引起:发生了意外的文件结束。以下内容 未关闭:图标
我们在通信层中的最后一个代码是:
/// <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]));
}
在框架反序列化之前,有没有办法记录响应xml?任何帮助或想法都非常受欢迎。
答案 0 :(得分:3)
以干净的方式执行此操作的最简单方法是创建SOAP扩展。我在这里找到了一个很好的教程
http://www.codeproject.com/KB/webservices/efficientsoapextension.aspx