Hi Nirodha,

I used only one datastream .(Data Stream:  SALESFORCE_DATA_STREAM_1 Version
: 1.0.1)

Thanks & Regards.

On Mon, Feb 8, 2016 at 10:54 PM, Nirodha Gallage <niro...@wso2.com> wrote:

> +1 for this approach. BTW are we planning to write the data from two
> streams to the same table?
>
> On Mon, Feb 8, 2016 at 8:59 PM, Lakmini Chathurika <lakm...@wso2.com>
> wrote:
>
>> Hi All,
>>
>> I wrote a proxy service to get development support hours from salesforce .
>> In here I got the data from two tables Line_Item__c  and Opportunity.
>> Because in salesforce Line_Item__c table keeps the records before January
>> and Opportunity table keeps the records January onwards.
>> In the proxy first I wrote a SOQL query to get the data from Line_Item__c
>> table and published to DAS through the data stream
>> "SALESFORCE_DATA_STREAM_1".
>> Then I wrote another SOQL query to get the data from Opportunity table
>> and published to DAS through the same datastream.
>>
>> The Proxy is as shown below.
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <proxy xmlns="http://ws.apache.org/ns/synapse";
>>        name="SalesForceProxy"
>>        transports="https,http"
>>        statistics="disable"
>>        trace="disable"
>>        startOnLoad="true">
>>    <target>
>>       <inSequence>
>>          <!--SOQL query to get data from the table Line_Item__c-->
>>          <salesforce.query configKey="SF">
>>             <batchSize>200</batchSize>
>>             <queryString>SELECT  LastModifiedDate, Support_Account_ID__c,
>> Dev_Support_Hours__c FROM
>>             Line_Item__c WHERE Support_Account_ID__c != 'NULL' AND
>> Support_Account_ID__c != '' AND Support_Account_ID__c
>>             LIKE '%DEV' ORDER BY LastModifiedDate DESC NULLS
>> FIRST</queryString>
>>          </salesforce.query>
>>          <log level="full" separator=","/>
>>          <iterate xmlns:sfn="urn:partner.soap.sforce.com"
>>                   continueParent="true"
>>                   id="Iterator_line_item"
>>                   expression="//sfn:records"
>>                   sequential="true">
>>             <target>
>>                <sequence>
>>                   <publishEvent>
>>                      <eventSink>UD_DAS</eventSink>
>>                      <streamName>SALESFORCE_DATA_STREAM_1</streamName>
>>                      <streamVersion>1.0.1</streamVersion>
>>                      <attributes>
>>                         <meta/>
>>                         <correlation/>
>>                         <payload>
>>                            <attribute xmlns:sf="urn:
>> sobject.partner.soap.sforce.com"
>>                                       name="SupportAccountKey"
>>                                       type="STRING"
>>                                       defaultValue=""
>>
>> expression="//sf:Support_Account_ID__c"/>
>>                            <attribute xmlns:sf="urn:
>> sobject.partner.soap.sforce.com"
>>                                       name="DevelopmentSupportHours"
>>                                       type="STRING"
>>                                       defaultValue=""
>>
>> expression="//sf:Dev_Support_Hours__c"/>
>>                            <attribute xmlns:sf="urn:
>> sobject.partner.soap.sforce.com"
>>                                       name="LastModifiedDate"
>>                                       type="STRING"
>>                                       defaultValue=""
>>                                       expression="//sf:LastModifiedDate"/>
>>                         </payload>
>>                         <arbitrary/>
>>                      </attributes>
>>                   </publishEvent>
>>                </sequence>
>>             </target>
>>          </iterate>
>>
>>   <!--SOQL query to get data from the table Opportunity-->
>>   <salesforce.query configKey="SF">
>>             <batchSize>200</batchSize>
>>             <queryString>SELECT
>> Development_Support_Account_Key__c,Development_Support_Hours__c,LastModifiedDate
>> from Opportunity
>>             WHERE Development_Support_Account_Key__c !='NULL' AND
>> Development_Support_Account_Key__c !=''AND
>>             Development_Support_Account_Key__c
>>             LIKE '%DEV' ORDER BY LastModifiedDate DESC NULLS
>> FIRST</queryString>
>>          </salesforce.query>
>>          <log level="full" separator=",">
>>             <property xmlns:sf="urn:sobject.partner.soap.sforce.com"
>>                       name="valueyy"
>>                       expression="//sf:Development_Support_Hours__c"/>
>>          </log>
>>          <iterate xmlns:sfn="urn:partner.soap.sforce.com"
>>                   id="RecordsIterator"
>>                   expression="//sfn:records"
>>                   sequential="true">
>>             <target>
>>                <sequence>
>>                   <publishEvent>
>>                      <eventSink>UD_DAS</eventSink>
>>                      <streamName>SALESFORCE_DATA_STREAM_1</streamName>
>>                      <streamVersion>1.0.1</streamVersion>
>>                      <attributes>
>>                         <meta/>
>>                         <correlation/>
>>                         <payload>
>>                            <attribute xmlns:sf="urn:
>> sobject.partner.soap.sforce.com"
>>                                       name="SupportAccountKey"
>>                                       type="STRING"
>>                                       defaultValue=""
>>
>> expression="//sf:Development_Support_Account_Key__c"/>
>>                            <attribute xmlns:sf="urn:
>> sobject.partner.soap.sforce.com"
>>                                       name="DevelopmentSupportHours"
>>                                       type="STRING"
>>                                       defaultValue=""
>>
>> expression="//sf:Development_Support_Hours__c"/>
>>                            <attribute xmlns:sf="urn:
>> sobject.partner.soap.sforce.com"
>>                                       name="LastModifiedDate"
>>                                       type="STRING"
>>                                       defaultValue=""
>>                                       expression="//sf:LastModifiedDate"/>
>>                         </payload>
>>                         <arbitrary/>
>>                      </attributes>
>>                   </publishEvent>
>>                </sequence>
>>             </target>
>>          </iterate>
>>       </inSequence>
>>    </target>
>>    <description/>
>> </proxy>
>>
>>
>> Is it ok to get data from these two tables like this or are there any
>> better solutions to do this?
>> Any suggestions are highly appreciated.
>>
>> Thanks & Regards.
>> Lakmini.
>>
>>
>>
>>
>>
>
>
> --
>
> *Nirodha Gallage*
> Associate Technical Lead, QA.
> WSO2 Inc.: http://wso2.com/
> Mobile: +94716429078
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to