我有一个定义 Web 服务的 .wsdl 文件,我想生成一个客户端对象来使用该 Web 服务。在普通的 .Net 项目中生成它是没有问题的,但在针对 WP7 时会失败(客户端对象已生成,但不具有应有的所有方法)。当直接使用 SlSvcUtil.exe 执行此操作时,我收到错误消息,它不支持使用 SOAP 编码 (use='encoded') 的操作。
该服务由第三方运行,我无法更改它。
一种解决方案是设置一个中间服务器来转换为我可以读取的格式,但我想避免这种情况。我还有哪些其他选择?是否有任何非 MS 库可以为我生成此代码?如果没有,手动解析 SOAP 的工作量有多大?
最佳答案
我也遇到了同样的问题,没有找到解决办法。当针对 WP7 时,似乎缺乏 SOAP 服务的使用。 就我而言,我最终编写了自己的客户端类来手动解析 SOAP。工作量被限制在一定范围内,但这取决于服务的复杂性。 有关 SOAP 协议(protocol)的更多信息,我可以推荐 w3cschools SOAP Tutorial 。 在普通 .Net 项目中生成客户端对象,然后使用 fiddler 或wireshark 研究与 SOAP Web 服务的网络通信也很有帮助。
关于silverlight - 在 Silverlight/WP7 上使用编码的 SOAP 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292916/