使用X.509证书手动创建带有签名SOAP消息的HTTP SOAP请求

时间:2015-10-27 20:58:16

标签: web-services soap netsuite

我正在尝试通过http SOAP从NetSuite向另一个系统发送消息,但我被告知我已经发送了一条已签名的肥皂消息。 NetSuite只有一个名为nlapiRequestURL的操作(url,postdata,headers);我试图使用此方法通过手动创建的SOAP消息发送。我遇到的问题是如何将证书添加到标题中。有没有人这样做过?

我在使用证书签署soap消息时学到的是,我需要在本地密钥库中使用私钥和公共密钥。 java中的这个教程展示了如何做,但是我将如何在NetSuite中做类似的事情。

https://dzone.com/articles/signing-soap-messages

1 个答案:

答案 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有很好的讨论)。