我创建了一个小型WCF服务(托管在IIS中)并使用Chrome来获取它的wsdl,将其放在.wsdf文件中然后想使用svcutil test.wsdl
生成客户端代理但是我收到了这个错误:
错误:无法导入wsdl:port 详细信息:导入wsdl:port依赖的wsdl:binding时出错 进来。 XPath到wsdl:binding://wsdl:definitionf [@targetNamespace ='http://tempuri.org/' ] / WSDL:结合[@名称= 'WSHttpBinding_IService1'] XPath到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org/' ] / WSDL:服务[@名称= '服务1'] / WSDL:端口[@名称= 'WSHttpBinding_IService1']
其他人遇到过这种情况并找到了解决方案吗?
更新:正如约翰·桑德斯所建议的那样,谢谢你,当我直接指出网址时,它会起作用。然而,这是我的小测试案例,看看svcutil可以做什么,因为我预计未来几天从第三方获取wsdl文件并可能遇到同样的问题。由于我采用了最简单的开箱即用生成的.svc,我似乎没有包含块。
答案 0 :(得分:3)
如果wsdl中有Include
块 - 并且它们经常在由WCF生成时执行 - 那么您可能只保存'main'wsdl文件而不是所有引用的文件。
这样做的结果是主文件没有任何意义。正如John Saunders建议的那样,尝试将URL提供给svcutil.exe而不是保存文件。