简体   繁体   English

将多条记录发送到 WSO2 ESB/EI 中的 salesforce

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

I am having multiple records and need to push each records to Salesforce.我有多个记录,需要将每个记录推送到 Salesforce。 Can anyone help me to achieve this requirement?谁能帮我实现这个要求?

INPUT REQUEST:输入请求:

[
   {
      "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"
   }
]

Proxy Code:代理代码:

 <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>

Note :注意

  • Inside ProcessSequence need to fetch each json object element,because business related operation is there for json element.ProcessSequence内部需要获取每个 json object 元素,因为 json 元素存在业务相关操作。
  • Using Salesforce Rest Connector each records will be pushed to Salesforce using Call Mediator.使用 Salesforce Rest 连接器,每条记录都将使用呼叫调解器推送到 Salesforce。
  • Aggregate operation needed after iterator.迭代器后需要聚合操作。

Here i can't able to fetch each json element by below technique.在这里,我无法通过以下技术获取每个 json 元素。

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

I met my requirement, now i can send multiple records to Salesforce one by one by using Iterator.我满足了我的要求,现在我可以使用 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