使用Visual Studio 2010,我正在调用SOAP webservices并继续收到错误“反序列化回复消息的错误”。
我像这样调用WS方法:
wsConfig.config_pttClient client = new wsConfig.config_pttClient();
wsConfig.getConfigInput gci = new wsConfig.getConfigInput();
wsConfig.getConfigOutput gco = new wsConfig.getConfigOutput();
gco = client.getConfig(gci); // the exception is thrown here
该方法不需要输入数据:我使用SoapUI测试它,它工作正常。使用fiddler,我看到调用已经完成,所有数据的答案都是正确的。
经过一段时间的研究,我试图在readerQuotas
内改变maxStringContentLength
maxDepth
,xsd
等,但没有运气。
我对getConfig
方法有一些解决方法:当我更改Reference.cs
文件并将System.DateTime
变量类型更改为string
时,它可以正常工作但是然后我需要调用一个setConfig
方法,并且该更改会带来another problem ...此外,我已经读过更改网络服务合同不是一个好习惯。
我一直在寻找一段时间的解决方案,以下是我检查的一些地方:this,this,this或this。
有人可以帮忙吗? 感谢
答案 0 :(得分:0)
似乎我找到了解决问题的方法:
在我的reference.cs
文件服务参考下,我将每个DateTime
和System.Nullable<System.DateTime>
对象更改为string
个 - 正如我之前尝试过的那样 - 这样才能够制作get
方法。
尝试调用set
方法时,我会使用以下内容传递日期:
vt.beginDate = DateTime.Now.ToString("o");
ToString("o")
似乎是工作解决方案,以防止序列化问题。