2011-03-07 155 views
0

我正在尝试用WSCF服务替换外部提供WSDL的WCF服务。无法获取WCF测试客户端来测试WCF服务库

首先,我使用svcutil和wsdl来生成所有服务和客户端类(ATP,我只关心服务实现)。我生成了一个空的WCF服务库项目,并用一个类替换/重命名了IService1.cs命名为接口ServiceContractAttribute生成。然后我将实现类Service1.cs重命名为实现类JINDEXWcfListener.cs的名称。我从这个类中删除了生成的代码,并创建了类定义JINDEXWcfListener:[interface name]

该工具自动生成接口的实现。我使用装饰着[OperationContractAttribute]的单一方法来放置我的本地实现代码。我修改了生成的默认app.config以根据需要调整合同和服务名称。

当我开始调试时,我可以看到该服务在WTC中启动。但是,当单个操作暴露时,操作名称前面是一个带有黄色问号的红色圆点。当我对RC名称进行RC时,我得到“此操作在WCF测试客户端中不受支持”,没有附加信息。哪里不对?

+1

想法的COuple:你使用的东西不是http作为你的传输协议?或者你的服务方法使用一些复杂的数据类型(不仅仅是一个简单的字符串,日期时间等)?这些通常是WCF测试客户端无法处理服务的原因 – 2011-03-07 21:55:39

+0

不要依赖于别人的测试客户端。编写你自己的单元测试来测试你的服务。 – 2011-03-08 02:02:37

回答

1

WCFTestClient有很多限制。我已经打了几个小时的“问题”,后来证明这只是WCFTestClient问题。复杂的对象可能会给你带来很多悲伤,还有任何自定义列表等,例如IList接口的自定义实现。试试WcfStorm。我认为他们有免费版和试用版。