WCF 服务合同不匹配
Posted
技术标签:
【中文标题】WCF 服务合同不匹配【英文标题】:WCF Service contract mismatch 【发布时间】:2019-06-27 18:32:18 【问题描述】:在使用 WCF 网络服务之一方面需要您的帮助。它的工作服务,在我的应用程序中,我们已经从服务中使用了许多方法。我刚刚在 WCF 服务中添加了新方法。当我在 WCF 服务中测试新方法时它工作正常,当我单独测试服务时没有问题。但是我已将新的 WCF 服务 dll
添加到我的 Web 应用程序并尝试使用我的新方法,我总是收到此错误消息,我不明白我在这里犯了什么错误。请帮助我。错误:
由于 EndpointDispatcher 的 ContractFilter 不匹配 这可能是因为合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。
WCF 服务没有问题,因为服务中的所有其他方法都可以正常工作,除了新添加的方法。
var response = client.GetAllCountries(new GetAllCountriesRequest
Language = "Eng",
IndustryCode = "TP"
)
【问题讨论】:
ContractFilter mismatch at the EndpointDispatcher exception的可能重复 【参考方案1】:这可能是您的问题,当向您的服务添加新方法时,您需要通过转到 Visual Studio 来更新 WSDL 文档,右键单击该服务,然后单击 UpdateConfiguration
https://support.pcmiler.com/en/support/solutions/articles/19000080955-update-a-net-project-service-or-web-reference-with-latest-wsdl
随着时间的推移,WCF 服务的元数据可能会发生变化,这就要求 服务参考被更新。
.NET 更新服务参考:
在解决方案资源管理器中,右键单击服务引用,然后单击 更新服务参考。
在更新参考时会显示一个进度对话框 它的原始位置,并且服务客户端被重新生成到 反映元数据中的任何更改。
更新网络参考:
在解决方案资源管理器中,打开项目的 App_WebReferences 文件夹并 单击要更新的 Web 引用的节点。
右键单击参考,然后单击更新 Web 参考。
XML Web 服务的新文件被下载到您的项目中。 XML Web 服务的信息在您的项目中更新。
【讨论】:
以上是关于WCF 服务合同不匹配的主要内容,如果未能解决你的问题,请参考以下文章