Criando e invocando métodos Apex no Salesforce com Mule
1. 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);
}
2. }
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:
4. 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.