Hi, I'm trying to do the $subject using ESB 5.0, DSS 3.5.0 and Salesforce Connector.
When I remove the following call operations to the DSS from the sequence it's working perfectly. <header name="Action" scope="default" value= > "urn:insert_SF_Account_operation_batch_req"/> > <call blocking="true"> > <endpoint> > <address uri="https://localhost:9448/services/SF_Data_Service/ > "/> > </endpoint> > </call> Otherwise, It'll stop after the first batch received. Without continuing the operation (which need to be iterate until all the batches received). [I have attached both proxy and the sequence.] Thanks, Chanuka. -- Chanuka Dissanayake *Software Engineer | **WSO2 Inc.*; http://wso2.com Mobile: +94 71 33 63 596 Email: [email protected]
<?xml version="1.0" encoding="UTF-8"?> <proxy name="SF_Proxy" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org/ns/synapse"> <target> <inSequence> <salesforce.query configKey="sf_auth"> <batchSize>200</batchSize> <queryString>SELECT CreatedDate,Id,Name FROM Account</queryString> </salesforce.query> <sequence key="SF_Data_Sequence"/> <enrich> <source clone="true" property="INIT_MSG_PAYLOAD" type="property"/> <target type="body"/> </enrich> <iterate expression="//sfdc:iterator" sequential="true" xmlns:sfdc="http://wso2.org/salesforce/adaptor"> <target> <sequence> <property expression="get-property('operation','opt.salesforce.query.queryLocator')" name="salesforce.query.queryLocator" scope="default" type="STRING"/> <log level="custom"> <property expression="$ctx:salesforce.query.queryLocator" name="Before ......................"/> </log> <salesforce.queryMore> <batchSize>200</batchSize> </salesforce.queryMore> <sequence key="SF_Data_Sequence"/> <property expression="$ctx:salesforce.query.queryLocator" name="opt.salesforce.query.queryLocator" scope="operation" type="STRING"/> <log level="custom"> <property expression="$ctx:salesforce.query.queryLocator" name="After ......................"/> </log> </sequence> </target> </iterate> </inSequence> <outSequence> <send/> </outSequence> <faultSequence/> </target> </proxy>
<?xml version="1.0" encoding="UTF-8"?> <sequence name="SF_Data_Sequence" trace="disable" xmlns="http://ws.apache.org/ns/synapse"> <enrich> <source clone="true" type="body"/> <target property="INIT_MSG_PAYLOAD" type="property"/> </enrich> <payloadFactory media-type="xml"> <format> <p:insert_SF_Account_operation_batch_req xmlns:p="http://ws.wso2.org/dataservice"/> </format> <args/> </payloadFactory> <!-- Creating a property called DB_BATCH_MSG_PAYLOAD with the root element expression --> <property expression="//p:insert_SF_Account_operation_batch_req" name="DB_BATCH_MSG_PAYLOAD" scope="operation" type="OM" xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ws.wso2.org/dataservice"/> <enrich> <source clone="true" property="INIT_MSG_PAYLOAD" type="property"/> <target type="body"/> </enrich> <!-- Let's iterate through the data, we can iterate through records --> <iterate continueParent="true" expression="//rec:records" sequential="true" xmlns:ns="http://org.apache.synapse/xsd" xmlns:rec="urn:partner.soap.sforce.com"> <target> <sequence> <property expression="get-property('operation','DB_BATCH_MSG_PAYLOAD')" name="DB_BATCH_MSG_PAYLOAD" scope="default" type="OM"/> <datamapper config="gov:datamapper/SFConfig.dmc" inputSchema="gov:datamapper/SFConfig_inputSchema.json" inputType="XML" outputSchema="gov:datamapper/SFConfig_outputSchema.json" outputType="XML"/> <enrich> <source clone="true" type="body"/> <target property="DB_MSG_PAYLOAD" type="property"/> </enrich> <property expression="//p:insert_SF_Account_operation" name="DB_MSG_PAYLOAD" scope="default" type="OM" xmlns:p="http://ws.wso2.org/dataservice"/> <enrich> <source clone="true" property="DB_BATCH_MSG_PAYLOAD" type="property"/> <target type="body"/> </enrich> <enrich> <source clone="true" property="DB_MSG_PAYLOAD" type="property"/> <target action="child" xmlns:p="http://ws.wso2.org/dataservice" xpath="//p:insert_SF_Account_operation_batch_req"/> </enrich> <property expression="//p:insert_SF_Account_operation_batch_req" name="DB_BATCH_MSG_PAYLOAD" scope="operation" type="OM" xmlns:p="http://ws.wso2.org/dataservice"/> </sequence> </target> </iterate> <property expression="get-property('operation','DB_BATCH_MSG_PAYLOAD')" name="DB_BATCH_MSG_PAYLOAD" scope="default" type="OM"/> <enrich> <source clone="true" property="DB_BATCH_MSG_PAYLOAD" type="property"/> <target type="body"/> </enrich> <log level="full"/> <header name="Action" scope="default" value="urn:insert_SF_Account_operation_batch_req"/> <call blocking="true"> <endpoint> <address uri="https://localhost:9448/services/SF_Data_Service/"/> </endpoint> </call> </sequence>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
