Создать соединитель Batch-Mulesoft-Salesforce - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь добавить пакеты к заданию, используя SFD C Создать соединитель пакетов. Согласно документации, он ожидает объект jobInfo (com. Sforce. Asyn c. JobInfo). Ниже приведена полезная нагрузка, которой я являюсь send.E даже несмотря на то, что я вписываю объект в объект JobInfo, он все равно жалуется Сообщение: «Невозможно преобразовать Array в класс» org.mule.extension.salesforce.api.bulk.JobInfo '

Я не уверен, что мне не хватает

%dw 2.0
output application/java
var arr = []

---

({

id: "75023000002VC0rAAG" 
}  as Object {
class : "com.sforce.async.JobInfo"
})>> arr       

1 Ответ

1 голос
/ 22 марта 2020

Пожалуйста, найдите пример кода, который вы можете использовать.

<flow name="AccountAddressFlowFlow" doc:id="d164048e-ab84-42d2-b1bf-cbcdc6c8802a" >
        <http:listener doc:name="Listener" doc:id="73736cd1-cc6f-425d-8a9e-b2dacb4fd1e4" config-ref="HTTP_Listener_config" path="/accountaddress"/>
        <file:read doc:name="Read" doc:id="9bc9edf9-07af-4061-8d6c-c85eb254d113" path="./AccountAddress/testl2Address.csv" outputMimeType='application/csv; quote="\""; separator=|'>
            <ee:repeatable-file-store-stream bufferUnit="MB" />
        </file:read>
        <salesforce:create-job operation="upsert" type="Account_Address__c" doc:name="Create job" doc:id="6eaef36f-719a-45c6-a4f1-e3897c85dc97" config-ref="Salesforce_Config" target="JobInfo">
            <salesforce:create-job-request ><![CDATA[#[%dw 2.0
output application/java
---
{
    externalIdFieldName: "ADDR_Key__c",
    contentType: "JSON",
    concurrencyMode: "Parallel"
}]]]></salesforce:create-job-request>
        </salesforce:create-job>
        <ee:transform doc:name="Transform Message" doc:id="3d6b1820-95bb-4f11-b777-6db7a79319e2" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <batch:job jobName="AccountAddressFlowBatch_Job" doc:id="259c9a9a-72d2-4b46-85cd-6c700fe2e9f5" maxFailedRecords="-1" blockSize="10000" maxConcurrency="16">
            <batch:process-records >
                <batch:step name="Batch_Step" doc:id="d5599f4a-0200-410f-95a3-9a38a08173f8" >
                    <ee:transform doc:name="Transform Message" doc:id="245af51b-1ae7-4958-b644-f45baf7c63dd" >
                        <ee:message >
                            <ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
    Name:payload.Location_Name80,
    Location_ID__c:payload.Location_ID,
    Fiber_Status__c:payload.fiber_status,
    Account__r:{
            Sub_Account_ID__c:payload.Sub_Account_ID
            },
    Address_Type__c:payload.Address_Type,
    Postal_Code__c:payload.Postal_Code,
    FirstNet_Type__c:payload.FirstNet_Type
}]]></ee:set-payload>
                        </ee:message>
                    </ee:transform>
                    <batch:aggregator doc:name="Batch Aggregator" doc:id="33855357-eb2d-4dd3-ade2-ce043530665e" size="10000">
                        <salesforce:create-batch doc:name="Create batch" doc:id="83d9ab61-50dd-469b-bbf8-d2f53f36b3bc" config-ref="Salesforce_Config" jobInfoBatch="#[%dw 2.0
output application/java
---
vars.JobInfo]"/>
                    </batch:aggregator>
                </batch:step>
            </batch:process-records>
            <batch:on-complete >
                <logger level="INFO" doc:name="Logger" doc:id="b1c1fc2d-a3f4-4bf1-8ceb-5f249df58c60" />
            </batch:on-complete>
        </batch:job>
        <logger level="INFO" doc:name="Logger" doc:id="e2bd3d39-2fc9-46f6-a686-55531f77a2d6" message="Account Address Completed"/>
    </flow>
</mule>
...