[AEM Forms]{class="badge positive" title="Aplicável ao AEM Forms)."}

Configurar endpoints REST específicos do ambiente para o mesmo Formulário adaptável

Quando você promove um formulário adaptável de desenvolvimento para preparo para produção, o formulário geralmente precisa enviar para um endpoint REST diferente em cada ambiente, enquanto o próprio formulário permanece idêntico. Codificar o URL do endpoint na ação de envio do formulário quebra isso, porque o mesmo URL viaja com o formulário para todos os ambientes.

Este artigo descreve como manter um único Formulário adaptável portátil e ter sua ação Enviar para endpoint REST resolvida para o endpoint correto em cada ambiente. O formulário faz referência a uma configuração REST por nome em vez de por URL, e cada ambiente fornece seu próprio valor para essa configuração.

Pré-requisitos prerequisites

Criar a configuração do serviço RESTful no preparo create-rest-configuration

Na instância do autor de preparo, crie a configuração nomeada à qual o formulário se refere. Defina a URL do Ponto de Extremidade de Serviço para o ponto de extremidade REST ou webhook para preparo.

  1. Vá para Ferramentas > Cloud Services > Fontes de Dados.

  2. Selecione o Contêiner de configuração e selecione Criar.

  3. Na guia Geral, forneça um Nome para a configuração (por exemplo, restTest). Use o nome mesmo em cada ambiente para que o formulário seja resolvido de forma consistente após a promoção.

  4. Na guia Configurações de Autenticação, configure:

    • Selecione o Serviço RESTful: Ponto de Extremidade do Serviço.
    • Tipo de Método: POST.
    • URL do Ponto de Extremidade de Serviço: a URL do ponto de extremidade de preparo (por exemplo, uma URL de webhook usada para testar envios de preparo).
    • Tipo de Conteúdo: por exemplo, Dados de Formulário de Várias Partes.
    • Tipo de Autenticação: conforme exigido pelo seu ponto de extremidade (por exemplo, Nenhum ou Autenticação Básica).
  5. Selecione Salvar e fechar.

Aponte o formulário adaptável para o contêiner de configuração set-configuration-container

No preparo, associe o formulário ao Contêiner de configuração que contém a configuração REST.

  1. Em Forms e Documentos, selecione seu Formulário adaptável e abra as Propriedades.

  2. Na guia Básico, defina o Contêiner de Configuração como o contêiner que contém a configuração do serviço RESTful (por exemplo, /conf/restConfigTest).

  3. Selecione Salvar e fechar.

Configurar a ação de envio para endpoint REST configure-submit-action

No preparo, configure o formulário para enviá-lo por meio da configuração REST nomeada em vez de um URL codificado. Para obter a referência completa da ação de envio, consulte Configurar um Formulário adaptável para a ação de envio do Ponto de Extremidade REST.

  1. Abra o Formulário adaptável para edição, selecione o componente Contêiner do Guia e abra suas propriedades de Contêiner de Formulário adaptável.

  2. Abra a guia Envio e, na lista suspensa Enviar Ação, selecione Enviar para o ponto de extremidade REST.

  3. Em Configuração de ação, selecione Habilitar solicitação POST.

  4. Para Selecionar uma opção, escolha Configuração (não URL).

  5. Selecione sua configuração nomeada (por exemplo, restTest) na lista.

  6. Selecione Concluído.

O formulário agora resolve seu endpoint de envio por meio da configuração nomeada em vez de um URL fixo.

Promover o formulário do armazenamento temporário à produção promote-across-environments

Depois de configurar e testar o preparo, mova o mesmo formulário e o Contêiner de configuração para a produção. Você pode usar qualquer uma das abordagens a seguir.

Opção 1: abordagem de autor e pacote option-package

Use isso quando os autores mantiverem o formulário e a configuração diretamente em cada ambiente.

  1. Na instância do autor de preparo, crie um pacote de conteúdo no Gerenciador de Pacotes que inclua o formulário e seu Contêiner de Configuração, por exemplo:

    • /content/dam/formsanddocuments/<your-form-path>
    • /content/forms/af/<your-form-path>
    • /conf/<your-config-container> (que contém .../settings/cloudconfigs/fdm/<your-config>)
  2. Baixe o pacote e instale-o na instância do autor produção.

IMPORTANT
O pacote instala a mesma configuração na produção, incluindo a URL do Ponto de Extremidade de Serviço do preparo. Não deixe esse URL de preparo definido na produção. Atualize o endpoint na produção após a instalação, conforme descrito na próxima seção.

Opção 2: abordagem de substituição sensível ao contexto (recomendada para automação) option-context-aware

Use isso quando quiser uma configuração em pacote cujo endpoint, nome de usuário e senha sejam resolvidos automaticamente por ambiente, sem edição manual após a implantação. Essa abordagem substitui as propriedades de configuração usando as variáveis de ambiente do Cloud Manager.

Para configurações REST, você normalmente cria variáveis de ambiente para as propriedades serviceEndPoint, userName e password e, em seguida, faz referência a elas a partir de um arquivo de configuração OsgiConfigurationOverrideProvider em seu projeto.

Para obter o procedimento completo, consulte Configurações da nuvem com reconhecimento de contexto.

Atualizar o URL do ponto de extremidade na produção configure-endpoint-on-production

Depois de instalar o pacote em produção, o Formulário adaptável e a configuração REST name (por exemplo, restTest) correspondem ao preparo. A URL do Ponto de Extremidade de Serviço nessa configuração ainda aponta para o ponto de extremidade de preparo do pacote. Abra a configuração na produção e substitua-a pelo URL do endpoint de produção.

  1. Na instância do autor de produção, vá para Ferramentas > Cloud Services > Fontes de Dados.

  2. Selecione o Contêiner de configuração que você implantou (por exemplo, restConfigTest) e abra a configuração nomeada (por exemplo, restTest).

  3. Na guia Configurações de Autenticação, defina a URL do Ponto de Extremidade do Serviço para o ponto de extremidade REST ou webhook de produção.

  4. Selecione Salvar e fechar.

Durante os testes, um inspetor de solicitações, como um serviço de captura de webhook, fornece um URL exclusivo por ambiente para que você possa confirmar qual endpoint recebe cada envio.

Verificar o roteamento verify

Envie o mesmo formulário do armazenamento temporário e da produção e confirme cada publicação de ambiente no seu próprio endpoint, não no URL do outro ambiente.

  1. Na instância do autor de preparo, abra o Formulário adaptável e envie-o com dados de teste (por exemplo, insira stagetest em um campo de texto). Confirme se a solicitação POST chega à área de preparo URL do Ponto de Extremidade de Serviço que você configurou na área de preparo.

  2. Na instância do autor de produção, abra o mesmo Formulário adaptável e envie-o com dados de teste (por exemplo, insira prodtest em um campo de texto). Confirme se a solicitação POST chega à produção URL do Ponto de Extremidade do Serviço configurada na produção, não à URL de preparo.

  3. Confirme se cada solicitação usa o tipo de conteúdo esperado (por exemplo, Dados de Formulário de Várias Partes) e inclui os dados de formulário enviados. Use um terminal real e seguro (HTTPS) para produção.

Práticas recomendadas best-practices

  • Use uma configuração idêntica name em cada ambiente para que o formulário seja resolvido de forma consistente após a promoção.
  • Mantenha o ponto de extremidade value específico do ambiente. Nunca codifique uma única URL de ambiente na ação de envio do formulário.
  • Para endpoints de produção, verifique se o URL é seguro (HTTPS) e se o caminho de recebimento está configurado para lidar com a solicitação POST de maneira apropriada ao seu modelo de autenticação.
  • Prefira a abordagem de substituição com reconhecimento de contexto quando quiser que a implantação seja repetível e esteja livre de edições manuais pós-implantação.
recommendation-more-help
experience-manager-cloud-service-help-main-toc