我正在尝试更新我开发的几个旧的集成工具,以便与NetSuite连接到最新的Web服务端点,该端点位于以下URL:
https://webservices.netsuite.com/wsdl/v2018_1_0/netsuite.wsdl
我通常会去添加WSDL:
但是,我始终收到以下消息:
下载' 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来获得相同的结果。我现在很失落。
答案 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中并从现在开始使用它。