并且需要知道一些事情,因为我从服务器获得内部错误,我认为这与我如何生成SOAP的Header端口有关。
以下是它的样子:
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-CA07017CE54cDFC14720230904344">
<wsse:Username>test</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">******</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">xgy3s2Owe4zUNGc/2t3twA==</wsse:Nonce>
<wsu:Created>2016-08-24T07:18:10.434Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
好的,所以:
- 用户名是用户名:)
- 密码是我看到的cleardText
- Nonce我这样生成:
var nonce = new Date()。getTime()* 1000;
nonce = new Buffer(nonce.toString())。toString('base64'); (的NodeJS)
- 并在样本中生成日期,如下所示。
我的问题: - UsernameToken ID:如何生成?必须提出这个吗?
如果我的SOAP请求看起来像这样,这样就可以了:
<soap:Header>
<wsse:UsernameToken>
<wsse:Password>1231231</<wsse:Password>
<wsse:Nonce>1232132131</wsse:Nonce>
<wsu:Created>2016-08-24T07:18:10.434Z</wsu:Created>
</wsse:UsernameToken>
</soap:Header>
或者我必须把所有的http内容都结束等吗?
非常感谢你! 米哈