Dépannage et support

Les techniques de dépannage et les informations d'assistance permettent d'identifier et de résoudre rapidement les problèmes rencontrés. Vous trouverez ici les solutions potentielles aux problèmes que vous pourriez rencontrer avec le connecteur HTTP.

Comportement incohérent des paramètres de requête

Problème : Le comportement des paramètres de requête passés au récepteur HTTP varie en fonction de l'entrée. Cette incohérence est constatée avec les activités sortantes HTTP Put, Get, Invoke, Header et Delete. Pour ces activités, l'URL avec des paramètres de requête peut être spécifiée en deux endroits :
  • Liste de contrôle > Panneau Configurer > URL (chemin après le nom d'hôte)
  • Liste de contrôle > Panneau Mapper les entrées > Section Vers l'activité > httpheaders > uri

Cependant, les paramètres de requête spécifiés dans les étapes mentionnées plus haut peuvent être remplacés ou outrepassés dans le panneau Mapper les entrées > Section Vers l'activité > httpheaders > queryParameters. Le comportement des paramètres de requête passés au récepteur HTTP varie en fonction de l'entrée.

Solution : Tenez compte des points suivants lors de la spécification des valeurs :
  • Si la valeur de l'URL est mappée et que les champs de valeur des paramètres sont vides, l'URL est passée telle quelle au récepteur HTTP.
  • Si la valeur de l'URL et celle de chaque paramètre dans la mappe sont affectées, le récepteur HTTP obtient ces valeurs. L'URL avec les valeurs des paramètres est ajoutée à la suite de l'URL.
  • Si la valeur de l'URL n'est pas mappée, l'URL est construite dynamiquement avec les valeurs des paramètres spécifiées dans la mappe d'entrée.

Exemple :

URI dans le panneau Configurer : /xyz/test?query2=c&query3=c&query5=c&query6=c

URI dans le panneau Mapper les entrées : /xyz/test?query4=u&query3=u

Paramètres de requête dans le panneau Mapper les entrées : query2=m et query3=m

URL résultante : /xyz/test?query4=u&query3=m&query2=m&query5=&query6=

Le connecteur HTTP utilise ISO-8859-1 comme valeur de codage de caractères par défaut.

Le connecteur HTTP utilise désormais ISO-8859-1 comme codage de caractères par défaut à la place d'UTF-8.

Vous pouvez utiliser l'une des méthodes suivantes pour modifier cette valeur de codage de caractères :

  • Méthode 1: pour résoudre le problème, veuillez suivre la procédure ci-dessous :
    1. Accédez à l'activité HTTP Envoyer réponse.
    2. Ajoutez l'en-tête de réponse "Content-Type".
    3. Dans le panneau Mapper les entrées, le corps Vers l'activité, cliquez avec le bouton droit sur l'élément de corps et cliquez sur "Afficher les paramètres facultatifs "
    4. Développez les httpheaders (facultatifs) et affectez la valeur par défaut suivante à l'élément "Content-Type" :
      text/plain;charset=UTF-8
  • Méthode 2 : introduction de la nouvelle propriété de configuration de niveau JVM. Vous pouvez la remplacer par la valeur requise. Si vous définissez dans l'activité HTTP n'importe quelle valeur, celle-ci aura la plus haute priorité. La priorité suivante est accordée à la propriété de niveau JVM (le cas échéant). Si aucune valeur n'est définie dans aucun des emplacements, la valeur par défaut "ISO-8859-1" est utilisée pour le codage de contenu.
    • Studio
      Nom de propriété : "ContentEncoding" 
      Valeur par défaut : "ISO-8859-1"

      Une fois Studio lancé, exécutez jConsole dans le répertoire bin du JDK. Dans l'écran New Connection, sous Local Process, sélectionnez le processus correspondant à Studio, puis cliquez sur Connect. Sous l'onglet MBeans, accédez à HttpModule > HTTP Loopback > Attributes > ContentEncoding. Remplacez la valeur par défaut par la valeur requise.

    • Dispositif
      Nom de propriété : HTTP_CHARACTER_ENCODING 
      Valeur par défaut : ""

      La définition de cet attribut sur le dispositif nécessite l'accès au shell du système pour activer/désactiver jmxport. Dans le shell du système, exécutez la commande suivante pour vérifier si une valeur est définie pour la propriété :

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      L'utilisateur obtient une sortie similaire à la suivante :

      ContentEncodingv: []

      A présent, essayez d'affecter la valeur true à cette propriété.

      ihconfutil add /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING <nouvelle_valeur>

      A présent, vérifiez la valeur définie, en utilisant ce qui suit :

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      Voici le résultat :

      ContentEncodingv: [<nouvelle_valeur>] 
      La hiérarchie dans le dispositif est la suivante :
      1. Propriété Jconsole
      2. Propriété Config
      3. Valeur par défaut
      Si vous souhaitez modifier la valeur lors de l'exécution sans redémarrer le dispositif, vous pouvez utiliser jconsole pour le dispositif mais, si vous souhaitez définir la valeur et faire en sorte qu'elle soit permanente, vous devez la définir dans les propriétés de configuration. Si rien n'est défini pour les deux propriétés, la valeur par défaut (ISO-8859-1) est utilisée.