使用 node.js 中的soap 模块在客户端中添加soap 标头

Moz*_*zak 1 xml soap salesforce node.js

我对 salesforce 很陌生,正在尝试创建一个 SOAP 客户端,该客户端将连接并从 salesforce 获取特定潜在客户的详细信息。

我正在使用合作伙伴 wsdl。

到目前为止,我可以使用合作伙伴 wsdl 创建客户端。

我已经设置了会话标头,如下所示

但是,当我尝试获取一些信息时,它给了我与会话标头相关的错误

   <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>sf:INVALID_SESSION_ID</faultcode>
         <faultstring>INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session</faultstring>
         <detail>
            <sf:UnexpectedErrorFault xsi:type="sf:UnexpectedErrorFault">
               <sf:exceptionCode>INVALID_SESSION_ID</sf:exceptionCode>
               <sf:exceptionMessage>Invalid Session ID found in SessionHeader: Illegal Session</sf:exceptionMessage>
            </sf:UnexpectedErrorFault>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

我正在像这样设置会话标题

var sheader = {
                        SessionHeader : {
                            sessionId: result.result.sessionId
                        }
                    };

                    client.addSoapHeader(sheader);
Run Code Online (Sandbox Code Playgroud)

我正在使用soap节点模块来创建 SOAP 客户端,它表示要像这样设置会话标头。

现在我的问题是从哪里可以获得这三个可选信息,即

  • name未知参数(它可能只是一个空字符串)
  • xml命名空间的命名空间前缀
  • xmlns URI

考虑到我对 SOAP 和 Salesforce 相当陌生,任何指导在这里都会有所帮助。