添加服务引用创建没有方法的客户端

Posted

技术标签:

【中文标题】添加服务引用创建没有方法的客户端【英文标题】:Add service reference creates client without methods 【发布时间】:2013-09-08 05:50:06 【问题描述】:

嗨,当我尝试为 wsdl 服务(这个:http://webapi.aukro.cz/uploader.php?wsdl)创建客户端时,VS 2012 中的“添加服务引用”会创建一个没有任何方法的客户端。

我尝试在 wcftestclient 应用程序中为此服务创建测试连接,并且大多数生成的方法都被标记为错误消息“wcftestclient 不支持此操作,因为它使用 xy 类型”,其中 xy 是来自服务。

编辑:我一直在尝试在 Windows 商店应用程序中执行此操作... Edit2:我刚刚尝试在“windows 类库”项目中添加引用,它可以正常工作。 “可移植类库”项目目前还没有。

有什么想法吗?

【问题讨论】:

执行“添加服务参考”后查看“输出”窗口。那里可能列出了错误。此外,查看它生成的 reference.cs 文件,看看 cmets 是否引用了任何错误。最后,尝试在 wsdl 上使用 svcutil.exe 并查找错误。 你能确定你的机器上安装了这些补丁并尝试一下吗? Win8 / Win2012:support.microsoft.com/kb/2750149 下级操作系统:support.microsoft.com/kb/2750147。我无法重现此问题。 我无法安装这些更新 (W8x64)。我检查了 2750149 和 2750147 的已安装更新 - 没有找到。 你的操作系统是什么?安装更新时是否收到任何错误消息?正如@JohnSaunders 提到的那样,您可以检查错误选项卡上出现的错误。例如,查看这篇博文:blogs.msdn.com/b/praburaj/archive/2012/08/23/… 了解如何解决这样的示例错误。 "自定义工具警告:合同 'AllegroWebApiPortType' 与 Windows 应用商店应用程序不兼容,因为它包含一个或多个使用 SOAP 编码的操作 (use='encoded')。只有未编码的操作会被生成。”这有点解释它.. 【参考方案1】:

我通过执行以下操作设法解决了类似的问题:

检查您的服务参考。右键单击“配置服务” 参考”。取消选中“在引用的程序集中重用类型”并让它 重建代理。

来源:https://***.com/a/33422442/4695159

【讨论】:

以上是关于添加服务引用创建没有方法的客户端的主要内容,如果未能解决你的问题,请参考以下文章

WCF 常见类型未重用

WCF常见类型不重用

不能在 COM 客户端中添加引用 COM?

使用 netTcp 绑定时添加服务引用

如何使用 WCF 服务引用来使用 RPC 样式的 Web 服务?

ASP.NET Web Api 和数据协定