Как получить родительскую таблицу «Идентификатор записи» (автоматически сгенерированный идентификатор) SalesForce в MuleSoft - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь получить доступ к родительскому «Идентификатору записи» (автоматически сгенерированному идентификатору) в потоке MULESOFT, сохранить его в дочерней таблице SalesForce, сохранить идентификатор этой записи в одной переменной и передать его в дочернюю таблицу через DataWeave Transformation. Я использую один поток для этой задачи. Может кто-нибудь сказать, пожалуйста, как я могу получить идентификатор записи родительской таблицы? Спасибо.

Вот мой поток Конфи. XML-файл

<flow name="shoppingcartpocmcpostsfuserFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/customeruser" allowedMethods="POST" doc:name="HTTP"/>
        <object-to-byte-array-transformer doc:name="Object to Byte Array"/>
        <dw:transform-message doc:name="Transform Message" metadata:id="4851f81e-2a1b-4e5e-a34f-cc328e6dd23d">
            <dw:input-payload mimeType="application/json"/>
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
[{
    Name: payload.ShoppingCartUser.ShoppingCartUserName,
    FirstName__c: payload.ShoppingCartUser.FirstName,
    LastName__c: payload.ShoppingCartUser.LastName,
    EmailID__c: payload.ShoppingCartUser.EmailID,
    PhoneNumber__c: payload.ShoppingCartUser.PhoneNumber,
    CompanyName__c: payload.ShoppingCartUser.Company,
    CustomerType__c: payload.ShoppingCartUser.Customer_Type
}]]]></dw:set-payload>
        </dw:transform-message>
        <sfdc:create config-ref="Salesforce__Basic_Authentication" type="MS_ShoppingCartUser__c" doc:name="Salesforce Connector for User Details">
            <sfdc:objects ref="#[payload]"/>
        </sfdc:create>
        <object-to-string-transformer doc:name="Object to String"/>
        <set-variable variableName="id" value="#[flowVars.id]" doc:name="Variable"/>
        <dw:transform-message doc:name="Transform Message for User Address" metadata:id="4851f81e-2a1b-4e5e-a34f-cc328e6dd23d">
            <dw:input-payload mimeType="application/json"/>
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
[{
    AddressLine1__c: payload.ShoppingCartUser.AddressLine_1,
    AddressLine2__c: payload.ShoppingCartUser.AddressLine_2,
    CountyName__c: payload.ShoppingCartUser.County,
    City__c: payload.ShoppingCartUser.City,
    Country__c: payload.ShoppingCartUser.Country,
    State__c: payload.ShoppingCartUser.State,
    ZipCode__c: payload.ShoppingCartUser.Zipcode,
    EmailID__c: id
}]]]></dw:set-payload>
        </dw:transform-message>
        <sfdc:create config-ref="Salesforce__Basic_Authentication" type="MS_ShoppingCart__c" doc:name="Salesforce Connector for User Address">
            <sfdc:objects ref="#[payload]"/>
        </sfdc:create>
        <object-to-string-transformer doc:name="Object to String"/>
    </flow>

1 Ответ

0 голосов
/ 23 апреля 2019

Операция sfdc:create вернет 'Результат' https://docs.mulesoft.com/connectors/salesforce/salesforce-connector-reference-96#Result

У него есть поле 'Id'. Вы можете получить доступ к идентификатору, используя 'payload.Id'

Обратите внимание, что в вашем примере вам потребуется удалить объект-строку, чтобы получить к нему доступ. Это также перезапишет вашу полезную нагрузку. Поэтому вам нужно использовать обогащение, если вам нужны те же значения полезной нагрузки во втором преобразовании.

...