我尝试测试以下情形:通用的WSDLWCF终结点,该终结点基于WSDL实现对象并托管在IIS中。使用基于WSDL的代理来创建请求的客户端应用程序。当我从客户端向服务端点进行Web服务调用时,出现以下异常:{ 由于EndpointDispatcher的ContractFilter不匹配,带有Action'http:// IMyService / CreateContainer ' 的消息无法在接收方处理。这可能是由于合同不匹配(发送方和接收方之间的Action不匹配)或发送方和接收方之间的绑定/安全不匹配。请检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)。“}我开始使用MS Service Trace Viewer,但不确定在哪里查找。在查看客户端和端点中的类时,它们看起来是相同的。如何开始调试此问题?有什么可能导致此异常的原因?
3 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
“ EndpointDispatcher上的ContractFilter不匹配”表示接收方无法处理该消息,因为它与接收方为接收该消息的端点配置的任何合同都不匹配。
这可能是因为:
客户和发送者之间有不同的合同。
您在客户端和发送者之间使用了不同的绑定。
客户端和发件人之间的邮件安全设置不一致。
请查看EndpointDispatcher
课程以获取有关该主题的更多信息。
所以:
确保您的客户端和服务器合同匹配。
如果您是从WSDL生成客户端的,那么WSDL是最新的吗?
如果您最近对合同进行了更改,是否已部署了客户端和服务器的正确版本?
如果您手工制作了客户合同类,请确保名称空间,元素名称和操作名称与服务器期望的名称匹配。
检查客户端和服务器之间的绑定是否相同。
如果您使用.config文件管理端点,请确保绑定元素匹配。
检查客户端和服务器之间的安全设置是否相同。
如果您使用.config文件管理端点,请确保安全元素匹配。
- 3 回答
- 0 关注
- 2642 浏览
添加回答
举报
0/150
提交
取消