WCF 服务 wsdl 客户端错误

Posted

技术标签:

【中文标题】WCF 服务 wsdl 客户端错误【英文标题】:WCF service wsdl client error 【发布时间】:2013-01-19 10:13:40 【问题描述】:

我有一个用 .NET 4.5 编写的 WCF Web 服务,它运行良好。

我用来调用它的客户端(SQL CLR 存储过程)必须使用 .NET 2,因为它用于 Sql Server (2005)。

当我使用内置的 WCF 测试客户端测试 Web 服务时,一切正常。同样,如果我使用 .NET 3+ 和 svcutil.exe 构建客户端,它也可以工作。

但是,由于我必须使用 .NET 2,所以我发现的唯一解决方案是使用 wsdl.exe 生成客户端 (original question) - 它成功了,但我没有设法让它工作。

我收到错误The message with Action 'action removed' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).

我找到了 this question,但它建议查看 EndpointDispatcher 类,因为我使用的是 .NET 2.0,所以我没有使用它。

据我所知,我所有的命名空间都是相同的——但仍然没有运气。我也尝试过使用服务跟踪实用程序,但它似乎没有显示任何有用的信息。

是否有可能以这种方式使用以这种方式制作的客户端和以这种方式提供的服务?还是端点永久不兼容?

【问题讨论】:

【参考方案1】:

我最终用 wsdl 重新生成了我的客户,因为我改变了一些东西,事实证明我已经改变了。客户端更新了我的命名空间,从那时起一切正常。

【讨论】:

以上是关于WCF 服务 wsdl 客户端错误的主要内容,如果未能解决你的问题,请参考以下文章

无法从客户端成功发布到 WCF WSDL 服务

如何仅针对某些端点从 WSDL 生成 WCF 客户端?

能否结合来自 WCF 服务的 WSDL 和 XSD 数据?

在 .NET Core 5 中使用 WCF (WSDL)

WCF 生成的 wsdl 与为创建 WCF 服务而提供的原始 wsdl 不同?

不同的 WSDL ASMX、WCF Web 服务