我正在尝试通过http SOAP从NetSuite向另一个系统发送消息,但我被告知我已经发送了一条已签名的肥皂消息。 NetSuite只有一个名为nlapiRequestURL的操作(url,postdata,headers);我试图使用此方法通过手动创建的SOAP消息发送。我遇到的问题是如何将证书添加到标题中。有没有人这样做过?
我在使用证书签署soap消息时学到的是,我需要在本地密钥库中使用私钥和公共密钥。 java中的这个教程展示了如何做,但是我将如何在NetSuite中做类似的事情。
答案 0 :(得分:0)
一种可能的解决方案是用Java编写自己的代理Web服务器 或任何其他服务器端语言。
以下是我的建议摘要:
1)使用a将请求详细信息从NetSuite发送到代理服务器 Suitelet或预定脚本。
2)在代理服务器中创建签名的SOAP请求并发送给 供应商API
3)现在,要回复NetSuite,有两种选择a)你 保持连接打开NetSuite,直到你得到响应和 将其发回NetSUite的脚本b)您回复NetSuite RESTlet,它使设计异步并且特别好 如果转身时间超过45秒。
另外,我建议使用HTTPS编写Web服务器,并且您的服务器具有受信任的CA签名证书,因此,Web服务器和NetSuite之间的通信是安全的。通过这种方式,您的通信将是安全的(P.S。我无法回答SSL 100%安全的问题,关于该主题的http://security.stackexchange.com有很好的讨论)。