EndpointDispatcher异常的ContractFilter不匹配

我尝试测试以下情形:

  1. 通用的WSDL

  2. WCF终结点,该终结点基于WSDL实现对象并托管在IIS中。

  3. 使用基于WSDL的代理来创建请求的客户端应用程序。

当我从客户端向服务端点进行Web服务调用时,出现以下异常:

{ 由于EndpointDispatcher的ContractFilter不匹配,带有Action'http:// IMyService / CreateContainer ' 的消息无法在接收方处理。这可能是由于合同不匹配(发送方和接收方之间的Action不匹配)或发送方和接收方之间的绑定/安全不匹配。请检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)。“}

我开始使用MS Service Trace Viewer,但不确定在哪里查找。在查看客户端和端点中的类时,它们看起来是相同的。

如何开始调试此问题?

有什么可能导致此异常的原因?


汪汪一只猫
浏览 2419回答 3
3回答

拉莫斯之舞

“ EndpointDispatcher上的ContractFilter不匹配”表示接收方无法处理该消息,因为它与接收方为接收该消息的端点配置的任何合同都不匹配。这可能是因为:客户和发送者之间有不同的合同。您在客户端和发送者之间使用了不同的绑定。客户端和发件人之间的邮件安全设置不一致。请查看EndpointDispatcher课程以获取有关该主题的更多信息。所以:确保您的客户端和服务器合同匹配。如果您是从WSDL生成客户端的,那么WSDL是最新的吗?如果您最近对合同进行了更改,是否已部署了客户端和服务器的正确版本?如果您手工制作了客户合同类,请确保名称空间,元素名称和操作名称与服务器期望的名称匹配。检查客户端和服务器之间的绑定是否相同。如果您使用.config文件管理端点,请确保绑定元素匹配。检查客户端和服务器之间的安全设置是否相同。如果您使用.config文件管理端点,请确保安全元素匹配。
打开App,查看更多内容
随时随地看视频慕课网APP