Resolución de problemas y soporte

Las técnicas de resolución de problemas y la información de ayuda le ayudarán a identificar y resolver los problemas rápidamente. Aquí podrá encontrar posibles soluciones a problemas que puedan surgir con el conector HTTP.

Comportamiento incoherente de los parámetros de consulta

Problema: el comportamiento de los parámetros de consulta pasados al receptor HTTP varía con la entrada. Esta incoherencia se da en las actividades de salida Poner (Put), Obtener (Get), Invocar (Invoke), Cabecera (Header) y Suprimir (Delete) HTTP. En dichas actividades, el URL con parámetros de salida puede definirse en dos lugares:
  • Lista de comprobación > panel Configurar > URL (ruta que sigue al nombre de host)
  • Lista de comprobación > panel Correlacionar entradas > sección A actividad > httpheaders > uri

No obstante, los parámetros de consulta definidos en los pasos anteriores pueden sustituirse o sobrescribirse en el panel Correlacionar entradas > sección A actividad > httpheaders > queryParameters. El comportamiento de los parámetros de consulta al receptor HTTP cambia con la entrada.

Solución: tenga en cuenta las siguientes consideraciones al establecer los valores:
  • Si el valor del URL está correlacionado y el valor de los parámetros está vacío, el URL se pasará tal cual al receptor HTTP.
  • Si el valor del URL y el valor del parámetro en la correlación también están asignados, el receptor HTTP obtendrá los valores. El URL con los valores de parámetro se añade al URL.
  • Si el valor del URL no está correlacionado, el URL se construye dinámicamente utilizando los valores de parámetro de la correlación de entrada.

Ejemplo:

URI del panel de configuración: /xyz/test?query2=c&query3=c&query5=c&query6=c

URI de la correlación de entradas: /xyz/test?query4=u&query3=u

Parámetro de consulta de Correlacionar entradas: query2=m and query3=m

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

El conector HTTP utiliza ISO-8859-1 como valor de codificación de caracteres predeterminado.

El conector HTTP ahora utiliza ISO-8859-1 como codificación de caracteres predeterminada en lugar de UTF-8.

Puede utilizar cualquiera de los métodos siguientes para cambiar este valor de codificación de caracteres:

  • Método 1: para resolver el problema, siga estos pasos:
    1. Vaya a la actividad Enviar respuesta HTTP
    2. Añada la cabecera de respuesta "Content-Type"
    3. En Correlacionar entradas, cuerpo A actividad, pulse el botón derecho (del ratón) en el elemento del cuerpo y pulse "Mostrar parámetros opcionales"
    4. Expanda las cabeceras http (opcional) y asigne un valor predeterminado debajo del elemento "Content-Type":
      text/plain;charset=UTF-8
  • Método 2: se ha introducido una nueva propiedad de configuración de nivel de JVM. Puede cambiar esto por el valor necesario. Si establece cualquier valor en la actividad HTTP, tendrá la máxima prioridad. La prioridad siguiente se otorga a la propiedad de nivel de JVM (si está disponible). Si no se ha establecido nada en uno de estos lugares, se utilizará el valor predeterminado "ISO-8859-1" para la codificación del contenido.
    • Studio
      Nombre de propiedad: "ContentEncoding"
      Valor predeterminado: "ISO-8859-1"

      Una vez que se ha iniciado Studio, ejecute jConsole mediante run jConsole en el directorio bin de JDK. En la pantalla New Connection, bajo Local Process, seleccione el proceso correspondiente a Studio y pulse Connect. Bajo el separador MBeans, navegue a HttpModule > HTTP Loopback > Attributes > ContentEncoding. Cambie el valor predeterminado por el valor necesario.

    • Dispositivo
      Property name: HTTP_CHARACTER_ENCODING 
      Default value: ""

      El establecimiento de este atributo en el dispositivo requerirá acceso al shell del sistema para habilitar o inhabilitar jmxport. En el shell del sistema, emita el mandato siguiente para comprobar si hay establecido algún valor para la propiedad:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      El usuario obtendrá una salida similar a la siguiente:

      ContentEncodingv: []

      Ahora, intente establecer el valor true en esta propiedad.

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

      Ahora verifique el valor establecido utilizando:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      Esto da como resultado

      ContentEncodingv: [<new value>] 
      La jerarquía en el dispositivo es
      1. Propiedad Jconsole
      2. Propiedad Config
      3. Valor predeterminado
      Si desea cambiar el valor en tiempo de ejecución sin reiniciar el dispositivo puede utilizar jconsole para dispositivos, pero si desea establecer el valor y hacerlo permanente, tendrá que establecerlo en las propiedades de configuración. Si no se establece nada se utiliza para ambas propiedades el valor predeterminado (ISO-8859-1).