WSDL的服务引用生成空命名空间

时间:2014-03-25 17:54:27

标签: c# .net web-services wcf wsdl

我在Visual Studio中从第三方WSDL添加服务引用,但它不是创建代理类,只是一个空命名空间的文件:

WSDL地址为http://wwwh.cnj.jus.br/sgt/sgt_ws.php?wsdl

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18052
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace MyApp.MyServiceReference {

}

我该如何解决?

更新

我运行了命令

SvcUtil.exe /t:code "http://wwwh.cnj.jus.br/sgt/sgt_ws.php?wsdl" /d:D:\test

并出现以下错误:

  

错误:无法导入wsdl:portType详细信息:抛出异常   在运行WSDL导入扩展时:   System.ServiceModel.Description.XmlSerializerMessageContractImporter   错误:引用类型   “http://schemas.xmlsoap.org/soap/encoding/:Array”仅对   编码的SOAP。 XPath到错误源:   // WSDL:定义[@targetNamespace = 'http://wwwh.cnj.jus.br/sgt/sgt_ws.php'] / WSDL:portType的[@名称= 'sgt_ws_methodsPort']

     

错误:无法导入wsdl:binding详细信息:导入时出错   wsdl:binding依赖的wsdl:portType。 XPath到   WSDL:端口类型:   // WSDL:定义[@targetNamespace = 'http://wwwh.cnj.jus.br/sgt/sgt_ws.php'] / WSDL:portType的[@名称= 'sgt_ws_methodsPort']   XPath到错误源:   // WSDL:定义[@targetNamespace = 'http://wwwh.cnj.jus.br/sgt/sgt_ws.php'] / WSDL:结合[@名称= 'sgt_ws_methodsBinding']

     

错误:无法导入wsdl:port详细信息:导入时出错   wsdl:wsdl:port依赖的绑定。 XPath到   WSDL:结合:   // WSDL:定义[@targetNamespace = 'http://wwwh.cnj.jus.br/sgt/sgt_ws.php'] / WSDL:结合[@名称= 'sgt_ws_methodsBinding']   XPath到错误源:   // WSDL:定义[@targetNamespace = 'http://wwwh.cnj.jus.br/sgt/sgt_ws.php'] / WSDL:服务[@名称= 'sgt_ws_methodsService'] / WSDL:端口[@名称= 'sgt_ws_methodsPort']

     

警告:未生成任何代码。如果你试图生成一个   客户端,这可能是因为元数据文档没有包含   任何有效的合同或服务,或因为所有的合同/服务   发现存在于/ reference程序集中。确认您通过了   该工具的所有元数据文档。

     

警告:如果您想从架构生成数据合同   确保使用/ dataContractOnly选项。

1 个答案:

答案 0 :(得分:1)

当我添加Web Reference而不是Service Reference时,它有效。

enter image description here