【问题标题】:Adding soap header in client using soap module in node.js使用node.js中的soap模块在客户端中添加soap标头
【发布时间】:2014-09-09 09:19:05
【问题描述】:

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

我正在消费合作伙伴 wsdl。

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

我已经按照this 中的方式设置了会话标头

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

   <?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>

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

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

                    client.addSoapHeader(sheader);

我正在使用 soap 节点模块创建 SOAP 客户端,它表示会话标头设置为 this

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

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

考虑到我是 SOAP 和 Salesforce 的新手,任何指导都会在这里有所帮助。

【问题讨论】:

    标签: xml node.js soap salesforce


    【解决方案1】:

    替换这个client.addSoapHeader(sheader,"","tns","");

    client.addSoapHeader(sheader,"","tns","urn:partner.soap.sforce.com");
    

    【讨论】:

    • 很高兴知道:)
    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多