从asmx Web服务到wcf服务的透明转换

时间:2010-12-09 16:11:26

标签: asp.net wcf web-services asmx

我正在开发一个项目,我正在使用wcf服务替换asmx webservice。但是,在过渡期间,我希望两者都能为我们的客户服务。

所以我在某种程度上实现了这一点,但是在一些测试中我遇到了问题。我收到以下消息:

  

测试方法IntegrationTests.StrictMatchTests.StrictProviderPass引发异常:System.Web.Services.Protocols.SoapHeaderException:无法在接收方处理具有Action'https:// htture.mydomain.net/core/myMethod'的消息到EndpointDispatcher的ContractFilter不匹配。这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配。检查发件人和收件人是否具有相同的合同和相同的约束(包括安全要求,例如邮件,传输,无)..

我公开了一个asmx文件,我可以将它作为传统的Web服务使用。但是,它们似乎与旧服务不兼容。如果我使用新服务,它可以正常工作。但我希望这个初始转换对最终用户是透明的,并逐渐让他们随着时间的推移使用wcf服务。

之前有人处理过这样的事情吗?如果是这样,请指点我正确的方向?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我能够解决这个问题。我发现两个数据合同之间存在差异。数据合同中的一个属性存在案例差异。纠正了这个问题解决了。我通过获取旧服务和新服务的生成服务引用的副本来解决这个问题。我并排比较了两个参考文献并注意到了案例差异。

约翰 - 感谢你上面提出的建议。