Resolução de Problemas e Suporte

Técnicas de resolução de problemas e informações de auto-ajuda auxiliam a identificação e a solução rápida de problemas. Aqui é possível localizar soluções em potencial para os problemas que você teria com o conector HTTP.

Comportamento Inconsistente de Parâmetros de Consulta

Problema: O comportamento dos parâmetros de consulta passados para o destinatário de HTTP varia com a entrada. Essa inconsistência ocorre para as atividades de saída HTTP Put, Get, Invoke, Header e Delete. Para essas atividades, a URL com parâmetros de consulta pode ser configurada em dois locais:
  • Painel Lista de Verificação > Configurar > URL (Caminho após Nome do Host)
  • Painel Lista de Verificação > Mapear Entradas seção > Atividade de Destino > httpheaders > uri

No entanto, os parâmetros de consulta configurados nas etapas mencionadas acima podem ser substituídos ou sobrescritos no painel Mapear Entradas > seção Atividade de Destino > httpheaders > queryParameters. O comportamento dos parâmetros de consulta passados para o destinatário de HTTP varia com a entrada.

Solução: Considere os pontos a seguir ao configurar valores:
  • Se o valor da URL for mapeado e o valor dos parâmetros estiver vazio, a URL será passada no estado em que se encontra para o destinatário de HTTP.
  • Se o valor da URL e o valor do parâmetro no mapa também forem designados, o destinatário de HTTP obterá os valores. A URL com valores de parâmetro é anexada à URL.
  • Se o valor da URL não for mapeado, a url será construída dinamicamente usando os valores de parâmetro no mapa de entrada.

Exemplo:

URI do painel Configurar: /xyz/test?query2=c&query3=c&query5=c&query6=c

URI de Mapear Entradas: /xyz/test?query4=u&query3=u

Parâmetro de Consulta de Mapear Entrada: query2=m and query3=m

URL Final: /xyz/test?query4=u&query3=m&query2=m&query5=&query6=

O conector HTTP usa ISO-8859-1 como o valor de codificação de caracteres padrão.

Agora o conector HTTP usa ISO-8859-1 como a codificação de caracteres padrão no lugar de UTF-8.

É possível usar qualquer um dos métodos a seguir para mudar esse valor de codificação de caracteres:

  • Método 1: para resolver o problema, siga as etapas abaixo:
    1. Acesse a atividade Enviar resposta de HTTP
    2. Inclua o cabeçalho de resposta "Tipo de conteúdo"
    3. Em Mapear entradas, corpo Atividade de destino, clique com o botão direito no elemento corpo e clique em "Mostrar parâmetros Opcionais"
    4. Expanda os httpheaders (opcional) e designe o valor padrão abaixo ao elemento "Tipo de conteúdo":
      text/plain;charset=UTF-8
  • Método 2: introduzida nova propriedade de configuração no nível de JVM (Java virtual machine). É possível mudar isso para o valor necessário. Se você configurar qualquer valor na atividade HTTP, ele terá prioridade mais alta. A prioridade a seguir é fornecida à prioridade de nível de JVM (se disponível). Se não houver nada configurado em nenhum local, o valor padrão "ISO-8859-1" será usado para a codificação de conteúdo.
    • Studio
      Property name: "ContentEncoding" 
      Default value: "ISO-8859-1"

      Após a ativação do Studio, execute jConsole no diretório bin do JDK. Na tela Nova conexão, em Processo local, selecione o processo correspondente para o Studio e clique em Conectar. Na guia MBeans, navegue para HttpModule > Loopback de HTTP > Atributos > ContentEncoding. Mude o valor padrão para o valor necessário.

    • Dispositivo
      Property name: HTTP_CHARACTER_ENCODING 
      Default value: ""

      Configurar esse atributo no dispositivo exigirá acesso ao shell do sistema para ativar/desativar jmxport. No shell do sistema, emita o comando a seguir para verificar se há algum valor configurado para a propriedade:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      O usuário obterá saída equivalente a:

      ContentEncodingv: []

      Agora, tente configurar o valor true para essa propriedade.

      ihconfutil add /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING <new value>

      Agora verifique o valor configurado usando:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      Isso resulta na

      ContentEncodingv: [<new value>] 
      A hierarquia no dispositivo é
      1. Propriedade Jconsole
      2. Propriedade de configuração
      3. Valor padrão
      Para mudar o valor no tempo de execução sem reiniciar o dispositivo, é possível usar jconsole para o dispositivo, mas para configurar o valor e torná-lo permanente, você terá que configurar nas propriedades de configuração. Se nada for configurado para ambas as propriedades, o padrão (ISO-8859-1) será usado.