我有一个用 .NET 4.5 编写的 WCF Web 服务,它运行良好。
我用来调用它的客户端(SQL CLR 存储过程)必须使用 .NET 2,因为它用于 Sql Server (2005)。
当我使用内置的 WCF 测试客户端测试 Web 服务时,一切正常。同样,如果我使用 .NET 3+ 和 svcutil.exe 构建客户端,它也可以工作。
但是,由于我必须使用 .NET 2,我找到的唯一解决方案是使用 wsdl.exe 生成客户端(原始问题)——它成功地完成了,但我没有设法让它工作。
我得到错误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).
我发现了这个问题,但是它建议查看EndpointDispatcher
我没有使用的类,因为我在 .NET 2.0 上。
据我所知,我所有的命名空间都是相同的——但仍然没有运气。我也尝试过使用服务跟踪实用程序,但它似乎没有向我展示任何有用的东西。
甚至可以使用以这种方式制作的客户端和这种方式的服务吗?还是端点永久不兼容?