首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wso2 ESB与SFDC的集成

Wso2 ESB与SFDC的集成
EN

Stack Overflow用户
提问于 2016-08-30 17:27:58
回答 1查看 126关注 0票数 1

我正在将WSO2 ESB4.8.1与SFDC集成。

使用SFDC连接器1.0

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

<salesforce.logout/>生成下面的soap消息,我在WSO2 ESB日志中识别了该消息。

代码语言:javascript
复制
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:无效会话ID在SessionHeader:非法会话中找到)下面。未找到会话,在执行时缺少会话哈希:) <salesforce.logout/>

代码语言:javascript
复制
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问题/WSO2SFDC连接器问题/WSO2ESB配置问题吗?

为了在整个项目中使用configkey属性,下面是代码

代码语言:javascript
复制
<salesforce.upsert configKey="sfdc_connection_dtls">
          <allOrNone>0</allOrNone>
          <allowFieldTruncate>0</allowFieldTruncate>
          <sobjects xmlns:sfdc="sfdc">{//sfdc:sObjects}</sobjects>
        </salesforce.upsert>

所以,当我在各自的序列中使用<salesforce.logout/>时,它是否只关闭了按顺序可用的当前连接。?或者关闭所有存在的连接。?

无论我在哪里使用salesforce.upsert (下面是框架代码),在调用salesforce.upsert之后,我可以使用salesforce.upsert吗?

代码语言:javascript
复制
<salesforce.upsert configKey="sfdc_connection_dtls">
       <!-- sobject goes here -->
</salesforce.upsert>

期待你的帮助

谢谢,Tejas

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-02 01:52:21

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39233630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档