我的soapwebservice 和我为其编写的新C# 客户端有问题。服务器端采用现代标准 .NET Framework,而客户端仅具有 .NET 3.5。
每当我尝试从网络应用程序返回字符串时,我都会收到错误:
“无法反序列化操作“MyMethod”的响应消息正文。” 但有一个例外:“XML 文档中出现错误 (1.40286)。” 翻译:服务器响应的序列化错误,并带有 XML 文档错误。
现在让我更困惑的是:
每当我不返回文本而是在 Webmethod 中抛出异常(例如: throw new ArgumentException )时,我都不会收到序列化错误。
当 java 客户端使用此 Web 服务时......我从该客户端完全没有收到任何错误。
客户端代码:
public void MyMethod (bool _IsInDebugMode, MyWebMethodRef.MyProxySoapClient myclient)
{
BasicHttpSecurityMode secMode = (_IsInDebugMode) ? BasicHttpSecurityMode.None : BasicHttpSecurityMode.Transport;
BasicHttpBinding wsBinding = new BasicHttpBinding(secMode);
wsBinding.MaxReceivedMessageSize = 2147483647;
wsBinding.OpenTimeout = new TimeSpan(0, 0, 1);
wsBinding.CloseTimeout = new TimeSpan(0, 0, 1);
wsBinding.SendTimeout = new TimeSpan(0, 0, 30);
wsBinding.ReceiveTimeout = new TimeSpan(0, 0, 30);
string ret = myclient.myMethod(Convert.ToBase64String("Test"));
}
服务器代码:
public class MyProxy : System.Web.Services.WebService
{
public MyProxyHeader header;
[WebMethod]
[SoapHeader("header")]
public string myMethod(string mytext)
{
return Convert.ToBase64String("blahblubb");
}
}
现在我有点困惑,我的问题是:什么可能导致这个反序列化错误以及如何消除它?
慕村225694
相关分类