2016-08-30 26 views
1

WSDD ESB 4.8.1とSFDCを統合しています。SFDとの統合Wso2 ESB

は、私はWSO2のマニュアルによると、コード<salesforce.logout/>を書かれているWSO2でSFDCコネクタ1.0

を使用して、彼らはそれが現在の接続を閉じることを言います。無効なセッションID SessionHeaderで見つかった::。不正なセッションのセッションが見つからない、

<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が下に取得しています数回を特定し、SOAPメッセージの下に生成し不足しているセッションハッシュ:) <salesforce.logout/>

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構成の問題。我々は、以下の、プロジェクト全体でconfigkey属性を使用しているアップサート操作の場合

は、私はそれぞれの順序で<salesforce.logout/>を使用する場合、コード

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

だから、それは順番に利用可能であるだけで、現在の接続を閉じんです。 ?または既存のすべての接続を閉じます。

私はsalesforce.upsertを使用していますが(これはスケルトンコードです)、salesforce.upsertコールの後に<salesforce.logout/>を使用できますか? WSO2 SFDCコネクタでは、あなたの助けのために前方

おかげで、 Tejas

答えて

1

を探し

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

、初期化設定ごとにフローごとに作成された単一SF接続があります。したがって、ログアウトを発行すると、それ以降の要求は失敗します。フローの最後に接続が切断されるため、ログアウトを発行する必要はありません。