4

我无法通过 Suitetalk Web 服务访问沙盒环境。我正在使用 2016_2 WSDL。我曾尝试使用最新版本的 WSDL,但这并没有帮助。

我在现有的测试应用程序上使用它,该应用程序现在停止工作。我仍然可以通过 Suitetalk 访问 NetSuite 生产环境。我收到的错误:“底层连接已关闭:发送时发生意外错误。”

该错误发生在对 API 的任何调用上。到目前为止,我还没有在网上看到其他人有类似的问题。

任何帮助将不胜感激,在此先感谢您。

4

3 回答 3

3

您的问题可能是 TLS 1.2,但您的客户端仅支持 TLS 1.0 或 1.1

此更改由 Netsuite 进行,根据他们在 10 月 7 日发布的消息,但我猜它已被移回,因为我的一个客户最初在周末遇到了问题,我不得不急于修复补丁。

如果您使用的是 Dotnet,请尝试以下静态属性:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
于 2017-10-26T02:17:35.927 回答
2

NetSuite 最近实施了一种新的 URL 格式来访问他们的 SuiteTalk Web 服务。新 URL 以您的帐号开头。旧网址,例如

https://webservices.netsuite.com/services/NetSuitePort_2016_2

继续工作,但会遇到“路由问题”。NetSuite 建议为您的 Web 参考采用一种新格式,如下所示:

https://{your_acct_number}.suitetalk.api.netsuite.com/services/NetSuitePort_2016_2

我最近遇到了我的 SuiteTalk 应用程序可以成功登录的问题,但随后无法运行任何 Web 方法,例如 service.search() 而不会出现错误。这些错误非常具有误导性,例如“连接超时”。

完成与 NetSuite 的支持电话后,我编写了使用最新 URL 格式连接 SuiteTalk 应用程序的正确方法。你可以在这里找到那篇文章:

https://followingnetsuite.wordpress.com/2018/05/10/suitetalk-urls-demistified/

于 2018-05-11T13:13:37.527 回答
0

您可能需要配置正确的端点。

有几件事要记住。

如果您使用的是 Java 客户端,则需要执行以下操作:

NetSuiteServiceLocator service = new NetSuiteServiceLocator();
if(overrideEndPoint != null) service.setNetSuitePortEndpointAddress(overrideEndPoint);

端点过去很简单:

例如https://webservices.sandbox.netsuite.com/services/NetSuitePort_2010_2,日期对应于您的 SuiteTalk 版本

但现在您需要为您的帐户和环境查找数据中心

在进行沙盒查找时,您需要针对https://webservices.sandbox.netsuite.com而不是针对运行 getDataCenterURLs 操作https://webservices.netsuite.com

于 2017-10-25T18:43:47.357 回答