【发布时间】:2011-12-02 20:03:50
【问题描述】:
这几天我们的应用程序出现问题。我们使用 SoapHttpClientProtocol 来调用 java mbean。这基本上是调用 java web 服务来调用方法。
我们的问题是有时我们会得到以下异常:
XML 文档中存在错误 (1, 172089)。在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader、字符串 encodingStyle、XmlDeserializationEvents 事件)
在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,字符串编码样式)在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 消息、WebResponse 响应、流 responseStream、布尔值 asyncCall) 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串 方法名,对象 [] 参数)在 DynamicMBeanResourceBinding.Invoke(OperationRequestType ManagedResourceOperation) 在 JMXConnectorService.cs:line 781 at JMXWSClient.InvokeMethodOnObject(字符串对象名,字符串方法名, ParameterType[] paramValue) 在connectivity\Client.cs:line 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?非常欢迎任何帮助或想法。
【问题讨论】:
标签: c# web-services webservice-client soaphttpclientprotocol