quinta-feira, 18 de agosto de 2016

Como consultar com conector do salesforce com query passando paramentos

MuleSoft

Como consultar com conector do salesforce com query passando paramentos.

Vamos precisar dos conectores:
HTTP:
Logger:
Transform:
SalesForce:

Também vamos precisa também do "postman" exenteração do Google.


Flow Completo












Configuração do HTTP

Cria um arquivo json com uma estrutura passando só o CPF.

Adiciona no transform Message como input o arquivo de json criado e faz o mapeamento.

coloca o CPF dentro uma variável para ser usada posteriormente.

Faz a query no Salesforce passando o cpf "select id , Nome__c, CPF__c, Idade__c from Informacoes__c where CPF__c = #[flowVars.variavelCPF]"

Transforma a resposta de acordo com o serviço que chamou ta esperando.









XML Completo

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:sfdc="http://www.mulesoft.org/schema/mule/sfdc" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/sfdc http://www.mulesoft.org/schema/mule/sfdc/current/mule-sfdc.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
    <sfdc:config name="Salesforce__Basic_Authentication" username="${sales.user}" password="${sales.password}" securityToken="${sales.token}" doc:name="Salesforce: Basic Authentication"/>
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    <flow name="query_in_salesforce_with_cpfFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/" metadata:id="77c3ec7a-1f21-4d5c-9e84-31e5923a4fd4" doc:name="HTTP"/>
        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
cpf:payload.CPF
}]]></dw:set-payload>
        </dw:transform-message>
        <set-variable variableName="variavelCPF" value="#[payload.cpf]" doc:name="Variable"/>
        <sfdc:query config-ref="Salesforce__Basic_Authentication" query="dsql:select id , Nome__c, CPF__c, Idade__c from Informacoes__c where CPF__c = #[flowVars.variavelCPF]" doc:name="Salesforce"/>
        <dw:transform-message metadata:id="dc0aa15c-8bcd-4db9-85fb-e560187db077" doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%input paayload application/java
%output application/json
---
payload]]></dw:set-payload>
        </dw:transform-message>
        <logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>



Bom é isso esperem que vocês gostem bons estudos, até a próxima.

Nenhum comentário:

Postar um comentário