我必须在我的.net应用程序中集成几个现有的webservices。但不幸的是,调用svcutil工具会导致错误消息:
Microsoft(R)服务模型元数据工具 [Microsoft(R)Windows(R)Communication Foundation,Version 3.0.4506.2152] 版权所有(c)Microsoft Corporation。保留所有权利。
错误:无法导入wsdl:binding 细节:找不到http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/V1.0:EnviarRespuestaVerifi的定义 carIdentidadCliente。名称空间http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/V1.0的服务描述 不见了。 参数名称:名称 XPath到错误源:// wsdl:definitions [@targetNamespace ='http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace / V1.0 '] / WSDL:结合[@名称=' EnviarRespuestaVerificarIdentidadCliente_HttpBinding']
错误:无法导入wsdl:port 详细信息:导入wsdl:port依赖的wsdl:binding时出错。 XPath到wsdl:binding:// wsdl:definitions [@targetNamespace ='http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace / V1.0 '] / WSDL:结合[@名称=' EnviarRespuestaVerificarIdentidadCliente_HttpBinding'] XPath到错误源:// wsdl:definitions [@targetNamespace ='http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace / V1.0 '] / WSDL:服务[@名称=' EnviarRespuestaVerificarIdentidadCliente '] / WSDL:端口[@名称=' EnviarRespuestaVerificarIdentidadCliente_HttpPort']
生成文件...... 警告:未生成任何代码。 如果您尝试生成客户端,可能是因为元数据文档不包含任何有效的合同或服务 或者因为发现所有合同/服务都存在于/ reference程序集中。验证您是否已将所有元数据文档传递给该工具。
警告:如果要从架构生成数据合同,请确保使用/ dataContractOnly选项。 有谁知道导致这个问题的原因是什么?
答案 0 :(得分:2)
我看到了同样的问题。我在一个文件夹中有一组30多个wsdl文件,我正在尝试为它们创建C#客户端类。
如果我执行以下操作
svcutil /noconfig /namespace:*,My.Required.Namespace *.wsdl
我看到你提到的很多错误(无法导入wsdl:binding)。
但是,一次挑选一个文件
svcutil /noconfig /namespace:*,My.Required.Namespace a.wsdl
经常工作;有时我必须包含另一个文件,例如
svcutil /noconfig /namespace:*,My.Required.Namespace b.wsdl c.wsdl
当尝试在b.wsdl上运行svcutil时,由于依赖于c.wsdl而失败,这是必要的。
结论:我不确定为什么我不能一次性为所有这些服务定义创建合同,但似乎不可能。我对文件中的共享类型仍然存在很大问题;这意味着我实际上必须编辑第三方wsdl或自动生成的代码,以便编译和运行正确。