Ir para o conteúdo

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

  1. Crie um novo projeto Design Studio.

  2. Na lista de itens do projeto à esquerda, clique com o botão direito em Operações e selecione Nova Operação.

  3. Na caixa de diálogo Selecionar tipo, selecione Serviço Web hospedado e clique em Continuar.
  4. Na janela Nova operação, defina o nome da nova operação como Aceitar solicitação do Salesforce.
  5. Clique na seta para baixo ao lado do nome da operação e selecione Exibir URL do serviço Web hospedado.
  6. 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).

    Parte 1 URL do serviço Web

    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).

  7. Clique em Copiar para a área de transferência para salvar o URL da Parte 2 e clique em Fechar.

  8. Na janela Nova Operação, clique em Salvar.

    A operação incompleta Aceitar solicitação do Salesforce:

    Parte 1 URL do serviço Web

Parte 2: Configurar uma Regra de Workflow do Salesforce e Baixar o Arquivo WSDL

  1. No Salesforce, selecione Configuração > Ferramentas da plataforma > Automação de processos > Regras de Workflow.
  2. 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.

    Regra de Workflow 2

  3. Na página Nova regra de Workflow, clique no menu Objeto, selecione Conta e clique em Avançar.

    Regra de Workflow 3

  4. 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.

    Regra de Workflow 4

  5. Na página Editar regra, clique em Adicionar ação de Workflow e selecione Nova mensagem de saída (destacado na imagem abaixo).

    Regra de Workflow 5

  6. 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.

    Regra de Workflow 6

  7. Na página Editar regra, clique em Concluído.

    Regra de Workflow 7

  8. 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).

    Regra de Workflow 8

  9. 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).

    Regra de Workflow 9

  10. 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

  1. 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.
  2. 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.

    Método de serviço Web 1

  3. Na etapa Operação, clique em Avançar >.

    Método 2 de serviço Web

  4. Na etapa Detalhes, clique em Concluir.

    Método 3 de serviço Web

  5. Feche a janela Novo Método de Serviço Web.

    Método 4 de serviço Web

Definir uma Chamada de Serviço da Web

  1. Na janela de operação Aceitar solicitação do Salesforce, clique duas vezes na atividade Chamada de serviço da Web.
  2. 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.

    Chamada de serviço web 1

  3. Clique duas vezes na atividade de finalização da transformação e clique em Criar Nova Transformação.

  4. Na janela Nova Transformação, defina os valores a seguir e clique em Concluir:

    • Nome: Salesforce Response.
    • Fonte: (Nenhum)
  5. 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.

    Chamada de serviço web 2

  6. Na janela Formula Builder, edite o script para corresponder ao seguinte e clique em OK para fechar o editor de script:

    <trans>
    true
    </trans>
    

    Chamada de serviço web 3

  7. Na janela de transformação Salesforce Response, clique em Salvar e feche a janela.

    Chamada de serviço web 4

  8. Clique duas vezes na atividade de transformação intermediária e clique em Criar Nova Transformação.

  9. Na janela Nova Transformação, defina os valores a seguir e clique em Avançar >:

    • Nome: Solicitação do Salesforce
    • Alvo: Texto

    Chamada de serviço web 5

  10. Na etapa Destino, clique em Definições de formato de arquivo disponíveis e selecione Criar novo.

  11. 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

    Chamada de serviço web 6

  12. Na seção Definir propriedades do segmento, clique no botão Novo para criar um novo campo.

  13. Em Nome do campo, insira Em branco e clique em Concluir.

    Chamada de serviço web 7

  14. Feche a janela de transformação Solicitação do Salesforce.

    A operação incompleta Aceitar solicitação do Salesforce:

    Chamada de serviço web 8

Defina a Fonte da 'solicitação de Entrada'

  1. Na lista de itens do projeto à esquerda, clique com o botão direito em Fontes e selecione Nova Fonte.
  2. Na caixa de diálogo Selecionar tipo, selecione Armazenamento temporário e clique em Continuar.

  3. Na janela Nova Fonte, insira valores para o seguinte:

    • Nome: Solicitação recebida
    • Obter arquivos: IncomingRequest[fileGUID].xml

    Solicitação recebida 1

  4. Clique em Salvar e feche a janela.

  5. 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.
  6. Na janela de destino Solicitação recebida, clique em Salvar e feche a janela.

    Solicitação recebida 2

  7. Na janela de operação Aceitar solicitação do Salesforce, clique duas vezes na transformação Solicitação do Salesforce.

  8. Na janela de transformação Solicitação do Salesforce, clique duas vezes no campo Em branco na árvore de destino.

    Solicitação recebida 3

  9. 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>
    

    Solicitação recebida 4

  10. Na janela de transformação Solicitação do Salesforce, clique em Salvar e feche a janela.

    Solicitação recebida 5

Crie a Operação 'upsert Database'

  1. 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.
  2. Na caixa de diálogo Selecionar tipo, selecione Transformação e clique em Continuar.

  3. Defina o nome da nova operação como Upsert Database.

    Atualizar banco de dados 1

  4. Na operação Upsert Database, clique duas vezes em Source.

  5. Na janela Selecionar origem, selecione Solicitação recebida e clique em OK.

    Atualizar banco de dados 2

  6. Na operação Upsert Database, clique duas vezes em Target.

  7. Na janela Selecionar destino, clique em Criar novo destino.
  8. 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.)

    Atualizar banco de dados 3

  9. Na operação Upsert Database, clique duas vezes em Transformação.

  10. Na janela Selecionar Transformação, selecione Criar Nova Transformação.
  11. 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

    Atualizar banco de dados 4

  12. Na etapa Fonte, clique em Avançar >.

    Atualizar banco de dados 5

  13. 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 >.

    Atualizar banco de dados 6

  14. Na etapa Destino, clique em Concluir.

    Atualizar banco de dados 7

  15. 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.

    Atualizar banco de dados 8

  16. Na janela de operação Aceitar solicitação do Salesforce, clique em Salvar.

    Concluído, aceitar solicitação do Salesforce

  17. 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

  1. No Salesforce, selecione Configuração > Ferramentas da plataforma > Automação de processos > Regras de Workflow.
  2. Na página Todas as regras de Workflow, clique em Ativar para sua mensagem de saída (destacada na imagem abaixo).

    Regra de Workflow

Teste a Integração

Para testar esse padrão de design de integração, siga estas etapas:

  1. No Salesforce, abra o aplicativo Serviço e selecione a aba Contas.
  2. Edite um contato da conta e salve-o.
  3. Faça login em seu banco de dados e consultar a tabela de destino.