4
Exemplo Caso de Uso 1. O exemplo a seguir chama um método Apex. Salesforce tem um objeto calledCustomOrder_c personalizado, que tem dois campos personalizados ProductName_c e ProductValue_c. Uma classe Apex é implantado em Salesforce usando a operação de metadados Deploy. global class CustomOrderUtils { webService static void createOrder(String p roductOrdered, String orderValue) { CustomOrder__c order = new CustomOrder__c (); order.ProductName__c = productOrdered; order.ProductValue__c = orderValue; insert order; } webService static List<CustomOrder__c> list AllCustomOrders() { List<CustomOrder__c> allCustomOrders = [S ELECT ProductName__c , ProductValue__c FROM C ustomOrder__c]; return allCustomOrders; } webService static List<CustomOrder__c> list AllCustomOrdersThatContainProduct(String prod uctName) { List<CustomOrder__c> allCustomOrders = [S ELECT ProductName__c , ProductValue__c FROM C ustomOrder__c]; List<CustomOrder__c> someCustomOrders = n ew List<CustomOrder__c>(); for(CustomOrder__c customer : allCustomOr ders) { if(customer.ProductName__c.contains(p roductName)) { someCustomOrders.add(customer); }

Exemplo caso de uso(Mulesoft)

Embed Size (px)

Citation preview

Page 1: Exemplo caso de uso(Mulesoft)

Exemplo Caso de Uso

1. O exemplo a seguir chama um método Apex. Salesforce tem um objeto calledCustomOrder_c personalizado, que tem dois campos personalizados ProductName_c e ProductValue_c. Uma classe Apex é implantado em Salesforce usando a operação de metadados Deploy.

global class CustomOrderUtils { webService static void createOrder(String productOrdered, String orderValue) { CustomOrder__c order = new CustomOrder__c(); order.ProductName__c = productOrdered; order.ProductValue__c = orderValue; insert order; } webService static List<CustomOrder__c> listAllCustomOrders() { List<CustomOrder__c> allCustomOrders = [SELECT ProductName__c , ProductValue__c FROM CustomOrder__c]; return allCustomOrders; } webService static List<CustomOrder__c> listAllCustomOrdersThatContainProduct(String productName) { List<CustomOrder__c> allCustomOrders = [SELECT ProductName__c , ProductValue__c FROM CustomOrder__c]; List<CustomOrder__c> someCustomOrders = new List<CustomOrder__c>(); for(CustomOrder__c customer : allCustomOrders) { if(customer.ProductName__c.contains(productName)) { someCustomOrders.add(customer); }

Page 2: Exemplo caso de uso(Mulesoft)

} return someCustomOrders; } }

Para configurar:

2. No Anypoint Studio, click File > New > Mule Project, nome do projeto, e clique OK.

3. No campo de pesquisa, tipo http e arrastar o HTTP conector para a tela.

4. Clique HTTP connector, clique a adição verde à direita Connector Configuration, e na próxima tela, clique OK para aceitar as configurações padrão.

5. Procure sales e arraste o conector Salesforce para a tela. Configurar como antes.

6. Click the Invoke apex SOAP method operation. Datasense brings all the available Apex methods (for the classes set under Apex Class Names in the connector configuration, or all the Apex classes if None is selected for this parameter).

7. Selecione um método que DataSense trouxe no drop-down para Apex Class Method Name. Digamos que nós escolhemos Customorderutils - Createorder. Depois de escolher um método, DataSense traz o formato de entrada e de saída para esse método específico.

8. Adicionar uma DataMapper em frente e depois o conector. Se Payload - Unknown está listado na DataMapper seguida, o método ou não tem entrada ou ele retorna nada. Se DataMapper detecta qualquer entrada para o método, parece algo como:

9. Adicione como entrada para o DataMapper está JSON:

Page 3: Exemplo caso de uso(Mulesoft)

1 2 3 4 5

{ "orderValue" : "50000", "productOrdered" : "car" }

10. O mapeamento parece:

11. Os fluxos de aparecer como:

Page 4: Exemplo caso de uso(Mulesoft)

12. Depois de criar os fluxos, clique com o botão direito no nome do projeto no Package Explorer e clique Run As > Mule Application.

13. Publicar o JSON como amostra para DataMapper na URL do conector HTTP. Uma nova instância da Ordem feita sob encomenda deve ser criado no Salesforce.