WSO2 EI - Salesforce Connector (получение всех строк) - PullRequest
0 голосов
/ 18 апреля 2019

Конфигурация моего прокси и ответ ниже:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="xxxProxy"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <property name="FORCE_HTTP_1.0" scope="axis2" value="true"/>
         <salesforce.init>
            <username>xxx</username>
            <password>xxxx</password>
            <loginUrl>https://test.salesforce.com/services/Soap/u/43.0</loginUrl>
         </salesforce.init>
         <salesforce.query>
            <batchSize>200</batchSize>
            <queryString>select Name, Formula, Account from uxxx_xxxxxx__xxxxx_c</queryString>
         </salesforce.query>
         <iterate xmlns:sfdc="http://wso2.org/salesforce/adaptor"
                  continueParent="true"
                  expression="//sfdc:iterator">
            <target>
               <sequence>
                  <salesforce.queryMore>
                     <batchSize>200</batchSize>
                  </salesforce.queryMore>
               </sequence>
            </target>
         </iterate>
         <log level="full"/>
         <respond/>
      </inSequence>
   </target>
   <description/>
</proxy>



<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com" xmlns:sf="urn:sobject.partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
      ...
    </soapenv:Header>
    <soapenv:Body>
        <queryResponse>
            <result xsi:type="QueryResult">
                <done>false</done>
                <queryLocator>01g3D00000JFeG9QAL-200</queryLocator>
                <records xsi:type="sf:sObject">
                  ...
                </records>
                ...
                <size>12806</size>
            </result>
            <sfdc:iterators xmlns:sfdc="http://wso2.org/salesforce/adaptor">
                <sfdc:iterator>Page2</sfdc:iterator>
                <sfdc:iterator>Page3</sfdc:iterator>
                <sfdc:iterator>Page4</sfdc:iterator>
                <sfdc:iterator>Page5</sfdc:iterator>
            </sfdc:iterators>
        </queryResponse>
    </soapenv:Body>
</soapenv:Envelope>

В моем ответе я могу видеть только первые 200 строк и ничего более, даже с опцией queryMore, ответ, который я получаю, ниже. Как мы получаем более 200 строк, метод итерации, похоже, не работает для меня, или я что-то упустил.

...