Средство обработки данных и соединитель Salesforce в mule

#salesforce #mule #datamapper #mule-studio

#salesforce #mule #средство обработки данных #mule-studio

Вопрос:

Я пытаюсь сопоставить данные из базы данных в salesforce в mule, используя опцию CreateBulk в соединителе Salesforce ->

 <flow name="datamapperFlow1" doc:name="datamapperFlow1">
    <poll doc:name="Poll">
        <fixed-frequency-scheduler frequency="30" timeUnit="SECONDS"/>
        <db:select config-ref="Generic_Database_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[select * from Persons1]]></db:parameterized-query>
        </db:select>
    </poll>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    <foreach doc:name="For Each">
        <data-mapper:transform config-ref="Map_To_HRISASI__c" doc:name="Map To HRISASI__c"/>
    </foreach>
    <sfdc:create-bulk config-ref="Salesforce" type="HRISASI__c" doc:name="Salesforce">
        <sfdc:objects ref="#[payload]"/>
    </sfdc:create-bulk>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
  

Создано пакетное задание, но не удается вставить записи с приведенной ниже ошибкой в отделе продаж

 <result>
<errors>
<fields>PHONE</fields>
<fields>EMPNAME</fields>
<fields>EMPLOYEEID</fields>
<message>
HRISASI__c: bad field names on insert/update call: PHONE, EMPNAME, EMPLOYEEID
</message>
<statusCode>INVALID_FIELD_FOR_INSERT_UPDATE</statusCode>
</errors>
<success>false</success>
<created>false</created>
</result>
  

мой скрипт для сопоставления данных выглядит следующим образом

 //MEL
//START -> DO NOT REMOVE
output.__id = input.__id;
//END -> DO NOT REMOVE
output.EmployeeId__c = input.EmpId;
output.EmpName__c = input.Empname;
output.Phone__c = input.Phone;
  

Не мог бы кто-нибудь, пожалуйста, сказать мне, в чем причина ошибки

Заранее благодарю вас

Ответ №1:

Проблема заключалась в использовании datamapper внутри for each. Полезная нагрузка за пределами foreach не содержит сопоставления, и, следовательно, при попытке сопоставить данные с salesforce была выдана ошибка