簡體   English   中英

將多條記錄發送到 WSO2 ESB/EI 中的 salesforce

[英]To send multiple records to salesforce in WSO2 ESB/EI

我有多個記錄,需要將每個記錄推送到 Salesforce。 誰能幫我實現這個要求?

輸入請求:

[
   {
      "Lead Source":"LDV Facebook - Book a Test Drive",
      "Preferred Model":"T60 4WD Diesel Dual Cab Ute",
      "Email":"Test1@bigpond.com",
      "Postal Code":"4211",
      "Enquiry Date":"27-03-20",
      "Date Sent":"01-04-20",
      "Mobile":"+61 414 994 774",
      "Name":"Stephen Ross",
      "Dealer":"QLD -Von Bibra Gold Coast - 554216"
   },
   {
      "Lead Source":"LDV i-Motor - Get a Quote",
      "Preferred Model":"T60 4WD Diesel Dual Cab Ute",
      "Email":"Test2@gmail.com",
      "Postal Code":"4209",
      "Enquiry Date":"27-03-20",
      "Date Sent":"01-04-20",
      "Mobile":"+61 423 927 999",
      "Name":"Jaxon",
      "Dealer":"QLD - Von Bibra Gold Coast - 554216"
   },
   {
      "Lead Source":"LDV i-Motor - Get a Quote",
      "Preferred Model":"T60 4WD Diesel Dual Cab Ute",
      "Email":"Test3@hotmail.com",
      "Postal Code":"4209",
      "Enquiry Date":"28-03-20",
      "Date Sent":"01-04-20",
      "Mobile":"+61 447809 834",
      "Name":"Brendan Dunleavy",
      "Dealer":"QLD - Von Bibra Gold Coast - 554216"
   }
]

代理代碼:

 <iterate expression="//jsonArray/jsonElement" id="LDVid" sequential="true">
                    <target>
                        <sequence>
                            <property description="incomingRequest" expression="$body/*" name="incomingRequest" scope="default" type="OM"/>
                            <!-- Business  process related sequence -->
                            <sequence key="ProcessSequence"/>
                        </sequence>
                    </target>
                </iterate>

注意

  • ProcessSequence內部需要獲取每個 json object 元素,因為 json 元素存在業務相關操作。
  • 使用 Salesforce Rest 連接器,每條記錄都將使用呼叫調解器推送到 Salesforce。
  • 迭代器后需要聚合操作。

在這里,我無法通過以下技術獲取每個 json 元素。

<property description="Email" expression="$ctx:incomingRequest//*[local-name()='Email']/text()" name="Email" scope="default" type="STRING"/>

我滿足了我的要求,現在我可以使用 Iterator 將多條記錄一一發送到 Salesforce。

<iterate expression="//jsonArray/jsonElement" id="LDVid" sequential="true">
                    <target>
                        <sequence>
                            <sequence description="ProcessSequence" key="ProcessSequence"/>
                        </sequence>
                    </target>
                </iterate>
                <property name="Aggregated_Responses" scope="default">
                    <jsonObject/>
                </property>
                <aggregate id="LDVid">
                    <completeCondition>
                        <messageCount max="-1" min="-1"/>
                    </completeCondition>
                    <onComplete enclosingElementProperty="Aggregated_Responses" expression="$body/*[1]" xmlns:ns="http://org.apache.synapse/xsd">
                        <log description="***aggregated***" separator="***aggregated***">
                            <property expression="$ctx:Aggregated_Responses" name="Aggregated_Responses"/>
                        </log>
                        <send/>
                    </onComplete>
                </aggregate>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM