【问题标题】:svcutil.exe - Error: Cannot import wsdl:portTypesvcutil.exe - 错误:无法导入 wsdl:portType
【发布时间】:2011-03-19 16:26:37
【问题描述】:

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

Microsoft (R) 服务模型元数据工具 [Microsoft (R) Windows (R) Communication Foundation,版本 3.0.4506.2152] 版权所有 (c) 微软公司。保留所有权利。

错误:无法导入 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 时出错。 XPath 到 wsdl:binding: //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']

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

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

【问题讨论】:

    标签: c# svcutil.exe


    【解决方案1】:

    我遇到了同样的问题。我在一个文件夹中有一组 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 失败时,这是必要的。

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

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 2012-05-06
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      相关资源
      最近更新 更多