Fehlerbehebung und Unterstützung

Verfahren für die Fehlerbehebung und Informationen zur Selbsthilfe unterstützen Sie dabei, Probleme schnell zu erkennen und zu beheben. Hier können Sie potenzielle Lösungen zu Problemen finden, die mit dem HTTP-Connector auftreten können.

Inkonsistentes Verhalten von Abfrageparametern

Problem: Das Verhalten der Abfrageparameter, die an den HTTP-Empfänger übergeben werden, variiert mit der Eingabe. Diese Inkonsistenz tritt für die abgehenden HTTP-Aktivitäten 'Senden' (Put), 'Abrufen' (Get), 'Aufrufen' (Invoke), 'Header' und 'Löschen' (Delete) auf. Für diese Aktivitäten kann die URL mit Abfrageparametern an zwei Stellen festgelegt werden:
  • Fenster Prüfliste > Konfigurieren > URL (Pfad nach Hostname)
  • Fenster Prüfliste > Eingaben zuordnen > Abschnitt An Aktivität > httpheaders > uri

Die Abfrageparameter, die in den oben aufgeführten Schritten festgelegt werden, können jedoch im Fenster Eingaben zuordnen > Abschnitt 'An Aktivität' > httpheaders > queryParameters ersetzt oder überschrieben werden. Das Verhalten der Abfrageparameter, die an den HTTP-Empfänger übergeben werden, variiert mit der Eingabe.

Lösung: Beachten Sie bei der Festlegung von Werten die folgenden Punkte:
  • Wenn der Wert der URL zugeordnet wird und die Werte der Parameter leer sind, wird die URL so, wie sie ist, an den HTTP-Empfänger übergeben.
  • Wenn der Wert der URL und der Wert des Parameters in der Zuordnung ebenfalls zugewiesen sind, erhält der HTTP-Empfänger die Werte. Die URL mit den Parameterwerten wird an die URL angehängt.
  • Wenn der Wert der URL nicht zugeordnet wird, wird die URL dynamisch mit den Parametern in der Eingabezuordnung erstellt.

Beispiel:

URI im Konfigurationsfenster: /xyz/test?query2=c&query3=c&query5=c&query6=c

URI in 'Eingaben zuordnen': /xyz/test?query4=u&query3=u

Abfrageparameter in 'Eingaben zuordnen': query2=m und query3=m

Endgültige URL: /xyz/test?query4=u&query3=m&query2=m&query5=&query6=

HTTP-Connector verwendet ISO-8859-1 als Standardwert für die Zeichencodierung.

Der HTTP-Connector verwendet jetzt ISO-8859-1 als Standardzeichencodierung anstelle von UTF-8.

Mit einer beliebigen der folgenden Methoden können Sie diesen Wert für die Zeichencodierung ändern:

  • Methode 1: Führen Sie die folgenden Schritte aus, um das Problem zu beheben:
    1. Navigieren Sie zur HTTP-Aktivität 'Antwort senden'
    2. Fügen Sie den Antwortheader "Content-Type" hinzu.
    3. Klicken Sie unter 'Eingaben zuordnen' im Hauptteil von 'An Aktivität' mit der rechten Maustaste auf das Element 'body' und klicken Sie auf 'Optionale Parameter anzeigen'.
    4. Erweitern Sie den Eintrag '(optional)httpheaders' und weisen Sie einen Standardwert unter dem Element "Content-Type" zu:
      text/plain;charset=UTF-8
  • Methode 2: Eingeführt als neue Konfigurationseigenschaft auf JVM-Ebene. Sie können diese Eigenschaft in den erforderlichen Wert ändern. Wenn Sie in der HTTP-Aktivität einen Wert festlegen, erhält dieser die höchste Priorität. Die nächste Priorität wird der Eigenschaft auf JVM-Ebene zugeordnet (sofern verfügbar). Wenn kein Wert an einer der beiden Positionen festgelegt ist, wird der Standardwert "ISO-8859-1" für die Inhaltscodierung verwendet.
    • Studio
      Eigenschaftsname: "ContentEncoding"
      Standardwert: "ISO-8859-1"

      Führen Sie nach dem Start von Studio den Befehl run jConsole im Verzeichnis 'bin' des JDK aus. Wählen Sie im Fenster New Connection (Neue Verbindung) unter 'Local Process' (Lokaler Prozess) den Prozess aus, der Studio entspricht, und klicken Sie auf Connect (Verbinden). Navigieren Sie auf der Registerkarte 'MBeans' zu 'HttpModule > HTTP Loopback > Attributes > ContentEncoding. Ändern Sie den Standardwert in den erforderlichen Wert.

    • Einheit (Appliance)
      Eigenschaftsname: HTTP_CHARACTER_ENCODING
      Standardwert: ""

      Das Festlegen dieses Attributs auf der Einheit erfordert einen Systemshellzugriff zum Aktivieren/Inaktivieren von 'jmxport'. Geben Sie in der Systemshell den folgenden Befehl ein, um zu prüfen, ob für die Eigenschaft ein Wert festgelegt ist:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      Der Benutzer erhält eine Ausgabe wie die folgende:

      ContentEncodingv: []

      Versuchen Sie jetzt, diese Eigenschaft auf den Wert'true' zu setzen.

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

      Überprüfen Sie nun mit dem folgenden Befehl, ob der Wert festgelegt ist:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      Das Ergebnis sieht wie folgt aus:

      ContentEncodingv: [<neuer_wert>] 
      Für die Einheit (Appliance) gilt die folgende Hierarchie:
      1. Jconsole-Eigenschaft
      2. Config-Eigenschaft
      3. Standardwert
      Wenn Sie den Wert während der Ausführung ändern wollen, ohne die Einheit erneut zu starten, können Sie 'jconsole' für die Einheit verwenden. Wenn Sie den Wert jedoch dauerhaft festlegen wollen, müssen Sie ihn in den Config-Eigenschaften festlegen. Wenn für beide Eigenschaften kein Wert festgelegt ist, wird der Standardwert (ISO-8859-1) verwendet.