Configurar Mensagens de Saída com Endpoints HTTP Hospedados
Introdução
Este padrão de design de integração configura um Salesforce regra de workflow que envia uma mensagem de saída para um Endpoint HTTP hospedado quando um objeto é alterado (neste exemplo, o objeto Account). Um projeto do Design Studio processa a mensagem de saída do Salesforce, mapeia os dados do objeto e os salva em um banco de dados. Endpoints HTTP hospedados podem ser usados somente com Agentes Privados.
Nota
O uso de Endpoints HTTP hospedados não é recomendado. O padrão de design de integração recomendado para Agentes em Nuvem é descrito em Configurando mensagens de saída com uma API do API Manager.
Para configurar esse padrão, siga estas seções em ordem:
- Parte 1: No Design Studio, crie uma nova operação e copie o URL do serviço web hospedado.
- Parte 2: No Salesforce, configure uma regra de workflow para enviar uma mensagem de saída para o URL do serviço da web quando um objeto for alterado e baixe o arquivo WSDL que define a mensagem.
- Parte 3: No Design Studio, expanda a nova operação para receber e confirmar a mensagem de saída do Salesforce e mapeie e armazene os valores alterados em um banco de dados.
- Parte 4: retorne ao Salesforce para ativar a mensagem de saída e teste o padrão de design de integração concluído.
Parte 1: URL do Endpoint do Serviço Web do Design Studio
-
Crie um novo projeto Design Studio.
-
Na lista de itens do projeto à esquerda, clique com o botão direito em Operações e selecione Nova Operação.
- Na caixa de diálogo Selecionar tipo, selecione Serviço Web hospedado e clique em Continuar.
- Na janela Nova operação, defina o nome da nova operação como Aceitar solicitação do Salesforce.
- Clique na seta para baixo ao lado do nome da operação e selecione Exibir URL do serviço Web hospedado.
-
Na caixa de diálogo Hosted Web Service URL, no campo Servidor, insira o nome do host ou endereço IP onde seu agente privado está sendo executado (
123.456.789.001
neste exemplo).Nota
Se o agente estiver sendo executado atrás de um firewall, você deverá configurar um túnel ou proxy acessível publicamente e abrir a porta HTTP 46908 (ou 46909 para HTTPS).
-
Clique em Copiar para a área de transferência para salvar o URL da Parte 2 e clique em Fechar.
-
Na janela Nova Operação, clique em Salvar.
A operação incompleta Aceitar solicitação do Salesforce:
Parte 2: Configurar uma Regra de Workflow do Salesforce e Baixar o Arquivo WSDL
- No Salesforce, selecione Configuração > Ferramentas da plataforma > Automação de processos > Regras de Workflow.
-
Na página Regras de Workflow, clique no botão Nova Regra (destacado na imagem abaixo). Se uma caixa de diálogo Experimentar no Flow Builder for aberta, clique em Continuar com regras de Workflow.
-
Na página Nova regra de Workflow, clique no menu Objeto, selecione Conta e clique em Avançar.
-
Na página Conta, insira os valores a seguir e clique em Salvar e Próximo:
- Nome da regra: Sua escolha de nome.
- Descrição: (Opcional) Uma descrição para esta regra.
- Critérios de avaliação: Criado e sempre editado.
- Critérios da regra: Clique em Executar esta regra se for e selecione Fórmula avaliada como verdadeira.
- No campo de fórmula, insira true.
-
Na página Editar regra, clique em Adicionar ação de Workflow e selecione Nova mensagem de saída (destacado na imagem abaixo).
-
Na página Nova mensagem de saída, insira os valores a seguir e clique em Salvar:
- Nome: Sua escolha de nome.
- Nome exclusivo: Este nome é gerado automaticamente com base no valor de Nome e nas regras de nomenclatura do campo.
- Descrição: (Opcional) Uma descrição para esta mensagem de saída.
- Endpoint URL: Cole o URL do serviço web hospedado copiado em Parte 1.
- Usuário para enviar como: Insira o usuário que envia a mensagem de saída. O valor padrão é seu nome de usuário do Salesforce.
- Componente protegido: Não selecionado.
- Enviar ID da sessão: Não selecionado.
- Campos da conta para enviar: Selecione os campos do objeto a enviar. Neste exemplo, apenas Nome e Telefone estão selecionados. O campo Id é selecionado automaticamente porque é o campo-chave do objeto.
-
Na página Editar regra, clique em Concluído.
-
Na página Regra de Workflow, na seção Ações imediatas de Workflow, clique no link de descrição da mensagem de saída (destacado na imagem abaixo).
-
Na página Detalhes da mensagem de saída do Workflow da mensagem, clique no link Clique para WSDL na linha denominada Endpoint WSDL (destacado na imagem abaixo).
-
Um arquivo XML é aberto em uma nova janela do navegador. Salve o arquivo com um
.wsdl
extensão. Dependendo do seu sistema operacional, pode ser necessário alterar a extensão do arquivo de.xml
para.wsdl
após o download.
Parte 3: Operações do Design Studio
Defina um Método de Serviço da Web
- No projeto do Design Studio iniciado na Parte 1, nos itens do projeto à esquerda, clique com o botão direito em Web Service Methods e selecione New Web Service Method.
-
Na janela Novo método de serviço Web, selecione Selecionar um arquivo WSDL local, clique em Procurar, selecione o arquivo WSDL baixado anteriormente e clique em Avançar > e aguarde validação de arquivo.
-
Na etapa Operação, clique em Avançar >.
-
Na etapa Detalhes, clique em Concluir.
-
Feche a janela Novo Método de Serviço Web.
Definir uma Chamada de Serviço da Web
- Na janela de operação Aceitar solicitação do Salesforce, clique duas vezes na atividade Chamada de serviço da Web.
-
Na caixa de diálogo Selecionar chamada de serviço da Web, selecione Novo método de serviço da Web e clique em OK.
-
Clique duas vezes na atividade de finalização da transformação e clique em Criar Nova Transformação.
-
Na janela Nova Transformação, defina os valores a seguir e clique em Concluir:
- Nome: Salesforce Response.
- Fonte: (Nenhum)
-
Na janela de transformação Salesforce Response, expanda todos os nós de destino até o elemento
[EV?] Ack (Boolean)
estiver visível e clique duas vezes nele. -
Na janela Formula Builder, edite o script para corresponder ao seguinte e clique em OK para fechar o editor de script:
<trans> true </trans>
-
Na janela de transformação Salesforce Response, clique em Salvar e feche a janela.
-
Clique duas vezes na atividade de transformação intermediária e clique em Criar Nova Transformação.
-
Na janela Nova Transformação, defina os valores a seguir e clique em Avançar >:
- Nome: Solicitação do Salesforce
- Alvo: Texto
-
Na etapa Destino, clique em Definições de formato de arquivo disponíveis e selecione Criar novo.
-
Defina os valores a seguir e clique em Criar manualmente.
- Nome: Formato de solicitação do Salesforce
- Selecione o tipo de documento: Documento de texto simples
- Selecione o formato do documento: Delimitado por caracteres
-
Na seção Definir propriedades do segmento, clique no botão Novo para criar um novo campo.
-
Em Nome do campo, insira Em branco e clique em Concluir.
-
Feche a janela de transformação Solicitação do Salesforce.
A operação incompleta Aceitar solicitação do Salesforce:
Defina a Fonte da 'solicitação de Entrada'
- Na lista de itens do projeto à esquerda, clique com o botão direito em Fontes e selecione Nova Fonte.
-
Na caixa de diálogo Selecionar tipo, selecione Armazenamento temporário e clique em Continuar.
-
Na janela Nova Fonte, insira valores para o seguinte:
- Nome: Solicitação recebida
- Obter arquivos:
IncomingRequest[fileGUID].xml
-
Clique em Salvar e feche a janela.
- Na lista de itens do projeto à esquerda, clique com o botão direito na nova origem Solicitação recebida e selecione Copiar para novo destino.
-
Na janela de destino Solicitação recebida, clique em Salvar e feche a janela.
-
Na janela de operação Aceitar solicitação do Salesforce, clique duas vezes na transformação Solicitação do Salesforce.
-
Na janela de transformação Solicitação do Salesforce, clique duas vezes no campo Em branco na árvore de destino.
-
Na janela Formula Builder, edite a fórmula para corresponder ao seguinte e clique em OK para fechar o editor de script:
<trans> $fileGUID=GUID(); WriteFile("<TAG>Targets/Incoming Request</TAG>", GetXmlString([root$], true])); </trans>
-
Na janela de transformação Solicitação do Salesforce, clique em Salvar e feche a janela.
Crie a Operação 'upsert Database'
- Na janela de operação Aceitar solicitação do Salesforce, selecione a seta para baixo ao lado do nome da operação e selecione Em caso de sucesso > Operação > Criar nova operação.
-
Na caixa de diálogo Selecionar tipo, selecione Transformação e clique em Continuar.
-
Defina o nome da nova operação como Upsert Database.
-
Na operação Upsert Database, clique duas vezes em Source.
-
Na janela Selecionar origem, selecione Solicitação recebida e clique em OK.
-
Na operação Upsert Database, clique duas vezes em Target.
- Na janela Selecionar destino, clique em Criar novo destino.
-
Na janela Novo destino, defina os valores para o seguinte, clique em Testar conexão e feche a janela Banco de dados:
- Nome: Banco de dados
- Tipo: Banco de dados
- Parâmetros de conexão: Defina os parâmetros do seu banco de dados. (Uma conexão com um servidor PostgreSQL é mostrada neste exemplo.)
-
Na operação Upsert Database, clique duas vezes em Transformação.
- Na janela Selecionar Transformação, selecione Criar Nova Transformação.
-
Na janela Nova Transformação, insira os valores a seguir e clique em Avançar >:
- Nome: Salesforce para banco de dados
- Fonte: Solicitação de serviço Web hospedado
-
Na etapa Fonte, clique em Avançar >.
-
Na etapa TARGET, clique em Baixar lista de tabelas. Selecione a tabela do banco de dados de destino, clique na seta para a direita para movê-la para a lista Tabelas Selecionadas e clique em Avançar >.
-
Na etapa Destino, clique em Concluir.
-
Na janela de transformação Salesforce para banco de dados, expanda as árvores de origem e de destino, mapeie os campos arrastando e soltando, clique em Salvar e feche a janela de transformação.
-
Na janela de operação Aceitar solicitação do Salesforce, clique em Salvar.
-
No menu principal, selecione Ações > Implantar. Na caixa de diálogo Implantar, em Selecione um tipo de implantação, selecione Tudo e clique em Implantar.
Parte 4: Atualizar URL do Salesforce Endpoint e Ativar
- No Salesforce, selecione Configuração > Ferramentas da plataforma > Automação de processos > Regras de Workflow.
-
Na página Todas as regras de Workflow, clique em Ativar para sua mensagem de saída (destacada na imagem abaixo).
Teste a Integração
Para testar esse padrão de design de integração, siga estas etapas:
- No Salesforce, abra o aplicativo Serviço e selecione a aba Contas.
- Edite um contato da conta e salve-o.
- Faça login em seu banco de dados e consultar a tabela de destino.