<?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>
         <log>
            <property name="STATE" value="OPP"/>
         </log>
         <salesforce.getUserInfo configKey="sf_auth"/>
         <salesforce.query>
            <batchSize>2000</batchSize>
            <queryString>select AccountID, Id, Name, Amount, CloseDate, FiscalYear, FiscalQuarter, Fiscal, OwnerId, Owner.Name, Account.Region__c, Account.BillingCountry, StageName from Opportunity where isClosed = false AND Account.Region__c != null</queryString>
         </salesforce.query>
         <class name="org.wso2.carbon.solutions.sf.DataFormatter"/>
         <iterate xmlns:ns1="urn:partner.soap.sforce.com"
                  xmlns:ns="http://org.apache.synapse/xsd"
                  continueParent="true"
                  expression="$body/ns1:queryResponse/ns1:result/ns1:records"
                  sequential="true">
            <target>
               <sequence>
                  <dbreport>
                     <connection>
                        <pool>
                           <password>sf!23</password>
                           <user>sf</user>
                           <url>jdbc:mysql://localhost:3306/sf?autoReconnect=true</url>
                           <driver>com.mysql.jdbc.Driver</driver>
                        </pool>
                     </connection>
                     <statement>
                        <sql>
                                          INSERT INTO opphistory (id, OppName, Amount, CloseDate, FiscalQuarter, FiscalYear, FiscalPeriod, OwnerId, OwnerName, Region, Country, Stage, ThisMonth, ThisQuarter, ThisYear, NextMonth, NextQuarter, NextYear, RecordDate, AccountId) VALUES (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)</sql>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Id/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Name/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Amount/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:CloseDate/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:FiscalQuarter/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:FiscalYear/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:FiscalPeriod/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:OwnerId/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Owner/nsa:Name/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Account/nsa:Region__c/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Account/nsa:BillingCountry/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:StageName/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:ThisMonth/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:ThisQuarter/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:ThisYear/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:NextMonth/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:NextQuarter/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:NextYear/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:RecordDate/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:AccountId/text()"
                                   type="VARCHAR"/>
                     </statement>
                  </dbreport>
               </sequence>
            </target>
         </iterate>
         <log>
            <property name="STATE" value="********** OPP"/>
         </log>
         <log>
            <property name="STATE" value="LEADQ"/>
         </log>
         <salesforce.query>
            <batchSize>2000</batchSize>
            <queryString> SELECT Region__c, count(Id) FROM Lead WHERE Status NOT IN ('Dead', 'Disqualified', 'Dormant')  AND CreatedDate = THIS_QUARTER Group by Region__c</queryString>
         </salesforce.query>
         <class name="org.wso2.carbon.solutions.sf.DateStamper"/>
         <iterate xmlns:ns1="urn:partner.soap.sforce.com"
                  xmlns:ns="http://org.apache.synapse/xsd"
                  continueParent="true"
                  expression="$body/ns1:queryResponse/ns1:result/ns1:records"
                  sequential="true">
            <target>
               <sequence>
                  <dbreport>
                     <connection>
                        <pool>
                           <password>sf!23</password>
                           <user>sf</user>
                           <url>jdbc:mysql://localhost:3306/sf?autoReconnect=true</url>
                           <driver>com.mysql.jdbc.Driver</driver>
                        </pool>
                     </connection>
                     <statement>
                        <sql>
                                                INSERT INTO quarterlyleads (Region, count, RecordDate) VALUES (?, ?, ?)</sql>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Region__c/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:expr0/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:RecordDate/text()"
                                   type="VARCHAR"/>
                     </statement>
                  </dbreport>
               </sequence>
            </target>
         </iterate>
         <log>
            <property name="STATE" value="******** LEADQ"/>
         </log>
         <log>
            <property name="STATE" value="LEADM"/>
         </log>
         <salesforce.query>
            <batchSize>2000</batchSize>
            <queryString> SELECT Region__c, count(Id) FROM Lead WHERE Status NOT IN ('Dead', 'Disqualified', 'Dormant')  AND CreatedDate = THIS_MONTH Group by Region__c </queryString>
         </salesforce.query>
         <class name="org.wso2.carbon.solutions.sf.DateStamper"/>
         <iterate xmlns:ns1="urn:partner.soap.sforce.com"
                  xmlns:ns="http://org.apache.synapse/xsd"
                  continueParent="true"
                  expression="$body/ns1:queryResponse/ns1:result/ns1:records"
                  sequential="true">
            <target>
               <sequence>
                  <dbreport>
                     <connection>
                        <pool>
                           <password>sf!23</password>
                           <user>sf</user>
                           <url>jdbc:mysql://localhost:3306/sf?autoReconnect=true</url>
                           <driver>com.mysql.jdbc.Driver</driver>
                        </pool>
                     </connection>
                     <statement>
                        <sql>
                                                      INSERT INTO monthlyleads (Region, count, RecordDate) VALUES (?, ?, ?)</sql>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Region__c/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:expr0/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:RecordDate/text()"
                                   type="VARCHAR"/>
                     </statement>
                  </dbreport>
               </sequence>
            </target>
         </iterate>
         <log>
            <property name="STATE" value="******** LEADM"/>
         </log>
         <log>
            <property name="STATE" value="WON"/>
         </log>
         <salesforce.query>
            <batchSize>2000</batchSize>
            <queryString>SELECT AccountId, Amount, StageName, Owner.Name, CloseDate, Opp_End_Date__c FROM Opportunity WHERE IsWon = true AND CloseDate != null AND Opp_End_Date__c != null ORDER BY CloseDate ASC </queryString>
         </salesforce.query>
         <class name="org.wso2.carbon.solutions.sf.DateStamper"/>
         <iterate xmlns:ns1="urn:partner.soap.sforce.com"
                  xmlns:ns="http://org.apache.synapse/xsd"
                  continueParent="true"
                  expression="$body/ns1:queryResponse/ns1:result/ns1:records"
                  sequential="true">
            <target>
               <sequence>
                  <dbreport>
                     <connection>
                        <pool>
                           <password>sf!23</password>
                           <user>sf</user>
                           <url>jdbc:mysql://localhost:3306/sf?autoReconnect=true</url>
                           <driver>com.mysql.jdbc.Driver</driver>
                        </pool>
                     </connection>
                     <statement>
                        <sql>
                                                            INSERT INTO wonopps (AccountID, Amount, StageName, OwnerName, CloseDate, OppEndDate, RecordDate) VALUES (?, ?, ?, ?, ?, ?, ?)</sql>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:AccountId/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Amount/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:StageName/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Owner/nsa:Name/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:CloseDate/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Opp_End_Date__c/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:RecordDate/text()"
                                   type="VARCHAR"/>
                     </statement>
                  </dbreport>
               </sequence>
            </target>
         </iterate>
         <log>
            <property name="STATE" value="******** WON"/>
         </log>
         <log>
            <property name="STATE" value="CUST"/>
         </log>
         <salesforce.query>
            <batchSize>2000</batchSize>
            <queryString>SELECT Region__c, count(Id) FROM Account WHERE Deactivation_Date__c &gt;= TODAY Group by Region__c </queryString>
         </salesforce.query>
         <class name="org.wso2.carbon.solutions.sf.DateStamper"/>
         <iterate xmlns:ns1="urn:partner.soap.sforce.com"
                  xmlns:ns="http://org.apache.synapse/xsd"
                  continueParent="true"
                  expression="$body/ns1:queryResponse/ns1:result/ns1:records"
                  sequential="true">
            <target>
               <sequence>
                  <dbreport>
                     <connection>
                        <pool>
                           <password>sf!23</password>
                           <user>sf</user>
                           <url>jdbc:mysql://localhost:3306/sf?autoReconnect=true</url>
                           <driver>com.mysql.jdbc.Driver</driver>
                        </pool>
                     </connection>
                     <statement>
                        <sql>
                                                                  INSERT INTO customers (Region, count, RecordDate) VALUES (?, ?, ?)</sql>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:Region__c/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:expr0/text()"
                                   type="VARCHAR"/>
                        <parameter xmlns:nsa="urn:sobject.partner.soap.sforce.com"
                                   xmlns:nsb="urn:partner.soap.sforce.com"
                                   expression="$body/nsb:records/nsa:RecordDate/text()"
                                   type="VARCHAR"/>
                     </statement>
                  </dbreport>
               </sequence>
            </target>
         </iterate>
         <log>
            <property name="STATE" value="******** CUST"/>
         </log>
         <sequence key="sf_response_seq"/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
      <faultSequence>
         <log level="full">
            <property name="STATE" value="FAULT"/>
         </log>
      </faultSequence>
   </target>
   <description/>
</proxy>
                                
