c# - svcutil.exe - 错误 : Cannot import wsdl:portType

标签 c# svcutil.exe

我必须在我的 .net 应用程序中集成几个现有的网络服务。但不幸的是,调用 svcutil 工具会导致错误消息:

Microsoft (R) 服务模型元数据工具 [Microsoft (R) Windows (R) Communication Foundation,版本 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:binding[@name='EnviarRespuestaVerificarIdentidadCliente_HttpBinding']

错误:无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。 wsdl:binding 的 XPath://wsdl:definitions[@targetNamespace=' http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace/V1.0']/wsdl:binding[@name='EnviarRespuestaVerificarIdentidadCliente_HttpBinding'] 错误源的 XPath://wsdl:definitions[@targetNamespace=' http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace/V1.0']/wsdl:service[@name='EnviarRespuestaVerificarIdentidadCliente']/wsdl:port[@name='EnviarRespuestaVerificarIdentidadCliente_HttpPort']

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

警告:如果您想从模式生成数据契约,请确保使用/dataContractOnly 选项。 有谁知道是什么导致了这个问题?

最佳答案

我遇到了同样的问题。我在一个文件夹中有一组 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

当由于对 c.wsdl 的依赖而尝试在 b.wsdl 上运行 svcutil 失败时,这是必需的。

底线:我不确定为什么我不能一次为所有这些服务定义创建契约(Contract),但这似乎不可能。我仍然对文件之间的共享类型有很大的疑问;这意味着我实际上必须编辑第三方 wsdl 或自动生成的代码才能正确编译和运行。

关于c# - svcutil.exe - 错误 : Cannot import wsdl:portType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3311292/

相关文章:

c# - 输出图像字符串C++到C#父程序(不保存到硬盘)

c# - 使用无效的 SSL 证书从 WSDL 生成服务代理时出现问题

wsdl - 服务堆栈 WSDL 错误。 Endpoint 与 Windows Store 应用程序不兼容。跳过...

c# - 如何为 Silverlight 和 .NET 生成 WCF .cs 文件?

c# - WCF 代理生成 : svcutil. exe 与 wsdl.exe

wcf - 使用 svcutil 调整绑定(bind)的特定值

c# - 我如何使用具有单引号 (') 作为参数的字符串我想在 C# 中使用选择查询,如下所示

c# - 检查矩阵中的相邻数字

c# - 为什么在比较两个可空值是否相等时不使用短路逻辑 'and' 运算符?

c# - 当您将空模型传递给 View 时,MVC 页面加载速度是否更快?