我无法通过Suitetalk网络服务访问Sandbox环境。我正在使用2016_2 WSDL。我已经尝试使用最新版本的WSDL,但这没有帮助。
我在现有的测试应用程序上使用它,现在停止工作。我仍然可以通过Suitetalk访问NetSuite生产环境。 我收到的错误:"基础连接已关闭:发送时发生意外错误。"
对API进行的任何调用都会发生错误。到目前为止,我还没有在网上遇到过类似问题的其他人。
任何帮助将不胜感激,谢谢你。
答案 0 :(得分:3)
您的问题可能是TLS 1.2,但您的客户只支持TLS 1.0或1.1
这个改变是由Netsuite根据他们的发布在10月7日发布的,但是我猜它已经被移回了,因为我的一个客户最初在周末遇到了这个问题,我不得不赶紧修补补丁。
如果您使用的是Dotnet,请尝试以下静态属性:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
答案 1 :(得分:2)
NetSuite最近实施了一种新的URL格式,用于访问他们的SuiteTalk Web服务。新网址以您的帐号开头。旧网址,例如
https://webservices.netsuite.com/services/NetSuitePort_2016_2
继续工作,但可以体验“路由问题”。 NetSuite建议为您的Web引用采用新格式,如下所示:
的https:// {your_acct_number} .suitetalk.api.netsuite.com /服务/ NetSuitePort_2016_2
我最近遇到的问题是我的SuiteTalk应用程序可以成功登录,但是无法运行任何Web方法,例如service.search()而不会出现错误。这些错误非常具有误导性,比如“连接超时”。
在我完成与NetSuite的支持电话会议后,我编写了使用最新URL格式连接SuiteTalk应用程序的正确方法。你可以在这里找到那篇文章:
https://followingnetsuite.wordpress.com/2018/05/10/suitetalk-urls-demistified/
答案 2 :(得分:0)
您可能需要配置正确的端点。
有几点要记住。
如果您使用的是Java客户端,则需要执行以下操作:
NetSuiteServiceLocator service = new NetSuiteServiceLocator();
if(overrideEndPoint != null) service.setNetSuitePortEndpointAddress(overrideEndPoint);
端点过去很简单:
e.g。例如https://webservices.sandbox.netsuite.com/services/NetSuitePort_2010_2
,其中日期对应于您的SuiteTalk版本
但现在您需要查找您的帐户和环境的数据中心
执行沙盒查找时,您需要针对https://webservices.sandbox.netsuite.com
运行针对https://webservices.netsuite.com
的getDataCenterURLs操作