通过svcutil生成服务引用时出错

时间:2012-12-08 03:07:40

标签: c# wcf wcf-binding svcutil.exe service-reference

我正在使用svcutil从我的wcf端点生成服务引用。最近一切都工作正常,但突然间,我开始对所有端点发出以下错误。

  

尝试使用WS-Metadata从“http://localhost.myservice.com/MyEndpoint.svc”下载元数据   交换或DISCO。错误:无法导入wsdl:binding详细信息:给定   密钥没有出现在字典中。 XPath到错误源:   //wsdl:definitions[@targetNamespace='http://tempuri.org/”   ] / WSDL:结合[@名称= 'wsMyEndpoint']

     

错误:无法导入wsdl:port详细信息:导入时出错   wsdl:wsdl:port依赖的绑定。 XPath到   WSDL:结合:   //wsdl:definitions[@targetNamespace='http://tempuri.org/”   ] / wsdl:binding [@ name ='wsMyEndpoint'] XPath到错误源:   //wsdl:definitions[@targetNamespace='http://myservice.com/serv   冰/ '] / WSDL:服务[@名称=' MyEndpoint '] / WSDL:端口[@名称=' wsMyEndpoint']

     

错误:无法导入wsdl:binding详细信息:给定的密钥不是   出现在字典中。 XPath到错误源:   //wsdl:definitions[@targetNamespace='http://tempuri.org/”   ] / WSDL:结合[@名称= 'netNamedMyEndpoint']

     

错误:无法导入wsdl:port详细信息:导入时出错   wsdl:wsdl:port依赖的绑定。 XPath到   WSDL:结合:   //wsdl:definitions[@targetNamespace='http://tempuri.org/”   ] / wsdl:binding [@ name ='netNamedMyEndpoint'] XPath到错误源:   //wsdl:definitions[@targetNamespace='http://myservice.com/serv   冰/ '] / WSDL:服务[@名称=' MyEndpoint '] / WSDL:端口[@名称=' netNamedMyEndpoint']

     

生成文件...警告:未生成任何代码。如果你在尝试   生成客户端,这可能是因为元数据文档   不包含任何有效的合同或服务或因为所有   发现合同/服务存在于/参考组合中。   验证您是否已将所有元数据文档传递给该工具。

我通过在生成服务引用的批处理文件中调用svcutil来生成服务引用。

我预计这可能是另一位开发者所做出的改变,但这只是猜测。任何人都知道如何调查这里的问题,甚至指出正确的解决方向。

1 个答案:

答案 0 :(得分:0)

为了从端点自动生成客户端,需要成功构建和部署服务,而不会出现其他错误。此外,IIS需要准备好接受来自服务的消息。

尝试一些调试:一旦部署,如果手动运行批处理文件,是否可以生成代理/服务引用?如果你在端点指向VS并在'扔掉'项目中创建服务引用,那么事情是否有效?

如果没有,请在相关服务行为中发布元素的配置。我怀疑答案可能就在那里。