【发布时间】:2011-07-10 15:32:59
【问题描述】:
我正在尝试将 WSE 服务替换为在外部提供 WSDL 的 WCF 等效服务。
首先,我使用 svcutil 和 wsdl 生成所有服务和客户端类(ATP,我只关心服务实现。)我生成了一个空的 WCF 服务库项目并将IService1.cs 替换/重命名为为接口命名的类ServiceContractAttribute 生成。然后我将实现类Service1.cs 重命名为实现类JINDEXWcfListener.cs。我从这个类中删除了生成的代码并创建了类定义JINDEXWcfListener:[interface name]。
该工具自动生成接口的实现。我使用带有[OperationContractAttribute] 装饰的单一方法来放置我的本地实现代码。我修改了默认生成的app.config 以根据需要调整合同和服务名称。
当我开始调试时,我可以看到服务正在 WTC 中启动。但是,当暴露单个操作时,操作名称前面是一个带有黄色问号的红点。当我对操作名称进行 RC 时,我得到“WCF 测试客户端不支持此操作”,没有其他信息。怎么了?
【问题讨论】:
-
一些想法:您是否使用 http 以外的其他协议作为传输协议?或者您的服务方法是否使用了一些复杂的数据类型(不仅仅是简单的字符串、日期时间等)??这些通常是 WCF 测试客户端无法处理服务的原因
-
不要依赖别人的测试客户端。编写您自己的单元测试来测试您的服务。