我对 salesforce 非常陌生,正在尝试创建一个 SOAP 客户端,该客户端将连接并从 salesforce 获取特定潜在客户的详细信息。
我正在使用合作伙伴 wsdl。
到目前为止,我可以使用合作伙伴 wsdl 创建客户端。
我已按照 this 中给出的方式设置 session header
但是,当我尝试获取一些信息时,它给了我与 session header 相关的错误
<?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>
我正在像这样设置 session header
var sheader = {
SessionHeader : {
sessionId: result.result.sessionId
}
};
client.addSoapHeader(sheader);
我正在使用soap用于创建 SOAP 客户端的 Node 模块,其中 session header 设置为 this .
现在我的问题是从哪里可以获得这三个可选信息,即
- 名称未知参数(可能只是一个空字符串)
- 命名空间 xml命名空间的前缀
- xmlns URI
考虑到我对 SOAP 和 Salesforce 相当陌生,任何指导都会有所帮助。
最佳答案
替换此client.addSoapHeader(sheader,"","tns","");
与
client.addSoapHeader(sheader,"","tns","urn:partner.soap.sforce.com");
关于xml - 使用node.js中的soap模块在客户端添加soap header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25740929/