无法在Visual Studio 2012中向.NET项目添加WSDL Web引用

时间:2018-06-07 22:37:21

标签: .net visual-studio-2012 wsdl netsuite wsdl.exe

我正在尝试更新我开发的几个旧的集成工具,以便与NetSuite连接到最新的Web服务端点,该端点位于以下URL:

  

https://webservices.netsuite.com/wsdl/v2018_1_0/netsuite.wsdl

我通常会去添加WSDL:

  1. 项目
  2. 添加服务参考
  3. 高级
  4. 添加网络参考
  5. 将WSDL URL输入"地址"
  6. 但是,我始终收到以下消息:

      

    下载' https://webservices.netsuite.com/wsdl/v2018_1_0/netsuite.wsdl/_vti_bin/ListData.svc/ $元数据'时出错。   请求已中止:无法创建SSL / TLS安全通道。

    我已经从浏览器下载了WSDL文件而没有出现问题,并尝试使用wsdl.exe,包括文件和URL。使用URL,我得到与上面相同的消息。通过该文件,我得到以下内容:

      

    错误:无法导入绑定' NetSuiteBinding'来自命名空间' urn:platform_2018_1.webservices.netsuite.com'。

         
        
    • 无法导入操作'登录'。
    •   
    • 元素' urn:messages_2018_1.platform.webservices.netsuite.com:applicationInfo'   缺少。
    •   

    我发现的一些建议包括将WSDL中列出的所有XSD文件作为导入下载并在运行wsdl.exe时列出它们。这导致了一个不同的错误:

      

    错误:无法导入绑定' NetSuiteBinding'从命名空间   '瓮:platform_2018_1.webservices.netsuite.com'

         
        
    • 无法导入操作'登录'。
    •   
    • 数据类型' urn:types.core_2018_1.platform.webservices.netsuite.com:RecordType'   缺少。
    •   

    我想也许这是一个TLS问题,也许我的机器没有使用正确的版本,但我已经通过并更新了IE和注册表设置以强制使用TLS 1.2而没有正面结果。我也想过我的机器可能存在问题,所以我将文件和wsdl.exe从我的Win 7 Pro机器发送到Win 10 Pro机器。那里的结果相同。

    我在这里几乎不知所措,因为我最后一次下载NetSuite wsdl并没有遇到这些问题,而且我甚至尝试使用较旧的WSDL来获得相同的结果。我现在很失落。

2 个答案:

答案 0 :(得分:0)

您的项目使用的是什么版本的.net? Tls 1.2默认无法使用,直到.net 4.6.1我相信。

答案 1 :(得分:0)

好的,我想我已经弄清楚了。我相信,自NetSuite推动强制使用TLS 1.2以来,最终成为了原因。我安装了Visual Studio 2017并制作了一个测试控制台应用程序,并从那里尝试下载Web服务。它成功了。所以,我只能假设VS 2012无法使用TLS 1.2进行通信,因此导致尝试生成NetSuite Web服务失败,而VS 2017 CAN 使用TLS 1.2,这就是它成功的原因。猜猜我需要将我的所有项目移植到VS 2017中并从现在开始使用它。