【问题标题】:Wso2 ESB Integration with SFDCWso2 ESB 与 SFDC 的集成
【发布时间】:2016-08-30 17:27:58
【问题描述】:

我正在将 WSO2 ESB 4.8.1 与 SFDC 集成。

使用 SFDC 连接器 1.0

在 WSO2 中,我编写了代码 <salesforce.logout/>,根据 WSO2 文档,他们说它会关闭当前连接。

<salesforce.logout/> 产生以下我在 WSO2 ESB 日志中标识的肥皂消息

TID: [0] [ESB] [2016-08-30 07:55:39,442] DEBUG {org.apache.synapse.transport.http.wire} -  << "<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com"><soapenv:Header><urn:SessionHeader><urn:sessionId>00D17000000BPGr!AQcAQDIggW.ikXtsb0Ckm8c8pKKDlF_8QN42jL31WUa6hDLOdEeNIjrYsevKW0FeZLDzlrjcDLwMni_7gYaZgNfdN4zv9Cgj</urn:sessionId></urn:SessionHeader></soapenv:Header><soapenv:Body><urn:logout></urn:logout></soapenv:Body></soapenv:Envelope>[\r][\n]" {org.apache.synapse.transport.http.wire}

但有几次我遇到错误 (INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session. Session not found, missing session hash:) when @987654324 @被执行

TID: [0] [ESB] [2016-08-30 07:55:39,529] DEBUG {org.apache.synapse.transport.http.wire} -  >> "<?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. Session not found, missing session hash: je59etMAEPM+m9VdYJb0AW==[\n]" {org.apache.synapse.transport.http.wire}
TID: [0] [ESB] [2016-08-30 07:55:39,529] DEBUG {org.apache.synapse.transport.http.wire} -  >> "This is expected, it can happen if the session has expired and swept away, or if the user logs out, or if its just someone trying to hack in. </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. Session not found, missing session hash: je59etMAEPM+m9VdYJb0AW==[\n]" {org.apache.synapse.transport.http.wire}
TID: [0] [ESB] [2016-08-30 07:55:39,529] DEBUG {org.apache.synapse.transport.http.wire} -  >> "This is expected, it can happen if the session has expired and swept away, or if the user logs out, or if its just someone trying to hack in. </sf:exceptionMessage></sf:UnexpectedErrorFault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>[\r][\n]" {org.apache.synapse.transport.http.wire}

是 SFDC 问题/WSO2 SFDC 连接器问题/WSO2 ESB 配置问题吗?

对于 upsert 操作,我们在整个项目中使用 configkey 属性,下面是代码

<salesforce.upsert configKey="sfdc_connection_dtls">
          <allOrNone>0</allOrNone>
          <allowFieldTruncate>0</allowFieldTruncate>
          <sobjects xmlns:sfdc="sfdc">{//sfdc:sObjects}</sobjects>
        </salesforce.upsert>

所以当我在各自的序列中使用&lt;salesforce.logout/&gt; 时,它是否只关闭当前可用的连接序列。?或者它关闭所有现有的连接。?

我在哪里使用 salesforce.upsert(下面是框架代码)我可以在 salesforce.upsert 调用后使用&lt;salesforce.logout/&gt; 吗?

<salesforce.upsert configKey="sfdc_connection_dtls">
       <!-- sobject goes here -->
</salesforce.upsert>

期待您的帮助

谢谢, 光辉

【问题讨论】:

    标签: wso2 wso2esb sfdc


    【解决方案1】:

    在 WSO2 SFDC 连接器中,每个初始化配置的每个流创建一个 SF 连接。因此,如果您发出注销,您的后续请求将失败。没有必要发出注销,因为连接在流程结束时无论如何都会终止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      相关资源
      最近更新 更多