0

我正在使用 svcutil 从我的 wcf 端点生成服务引用。直到最近一切正常,但突然我开始在所有端点上收到以下错误。

尝试使用 WS-Metadata Exchange 或 DISCO 从“http://localhost.myservice.com/MyEndpoint.svc”下载元数据。错误:无法导入 wsdl:绑定详细信息:字典中不存在给定的键。错误源的 XPath://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='wsMyEndpoint']

错误:无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:binding[@name='wsMyEndpoint'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://myservice.com/services/']/wsdl:service[@name='MyEndpoint']/wsdl:port[@name='wsMyEndpoint']

错误:无法导入 wsdl:绑定详细信息:字典中不存在给定的键。错误源的 XPath://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='netNamedMyEndpoint']

错误:无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:binding[@name='netNamedMyEndpoint'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://myservice.com/services/']/wsdl:service[@name='MyEndpoint']/wsdl:port[@name='netNamedMyEndpoint']

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

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

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

4

1 回答 1

0

为了从您的端点自动生成客户端,服务需要成功构建和部署,并且没有其他错误。此外,IIS 需要准备好接受来自服务的消息。

一些调试尝试:一旦部署,如果你手动运行批处理文件,你能生成代理/服务引用吗?如果您将 VS 指向端点并在“丢弃”项目中创建服务引用,事情会奏效吗?

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

于 2012-12-08T16:58:06.620 回答