Troubleshooting and support

Troubleshooting techniques and self-help information help you identify and solve problems quickly. Here, you can find potential solutions for issues you would have with the HTTP connector.

Inconsistent behaviour of query parameters

Problem: The behavior of the query parameters passed to the HTTP receiver varies with the input. This inconsistency occurs for HTTP Put, Get, Invoke, Header, and Delete outbound activities. For these activities the URL with query parameters can be set at two places:
  • Checklist > Configure panel > URL (Path After Hostname)
  • Checklist > Map Inputs panel > To Activity section > httpheaders > uri

However, the query parameters set in the steps mentioned above can be replaced or overwritten in the Map Inputs panel > To Activity section > httpheaders > queryParameters. The behavior of the query parameters passed to the HTTP Receiver varies with the input.

Solution: Consider the following points when setting values:
  • If the value of the URL is mapped and the value of the parameters are empty, then the URL is passed as is to the HTTP Receiver.
  • If the value of the URL and the value of the parameter in the map are also assigned, then the HTTP Receiver gets the values. The URL with parameter values are appended to the URL.
  • If value of the URL is not mapped, the url is build dynamically using the parameter values in the input map.

Example:

Configure panel URI: /xyz/test?query2=c&query3=c&query5=c&query6=c

Map Inputs URI: /xyz/test?query4=u&query3=u

Map Inputs Query Parameter: query2=m and query3=m

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

HTTP connector uses ISO-8859-1 as default character encoding value.

HTTP connector now uses ISO-8859-1 as default character encoding in place of UTF-8.

You can use any one of the following method to change this character encoding value:

  • Method 1: To resolve the issue, please follow steps below:
    1. Go to the HTTP Send Response activity
    2. Add response header "Content-Type"
    3. In Map Inputs, To Activity body, right click on the body element and click on "Show Optional Parameters"
    4. Expand the (optional)httpheaders, and assign default value below to the "Content-Type" element:
      text/plain;charset=UTF-8
  • Method 2: Introduced new JVM level configuration property. You can change this to the required value. If you set any value in the HTTP activity, that will take highest priority. Next priority is given to the JVM level property (if available). If nothing is set in either place, then default value "ISO-8859-1" is used for content encoding.
    • Studio
      Property name: "ContentEncoding" 
      Default value: "ISO-8859-1"

      Once the Studio is launched, run jConsole in bin directory of JDK. In New Connection screen, under Local Process, select the process corresponding to the Studio and click Connect. Under MBeans tab, navigate to HttpModule > HTTP Loopback > Attributes > ContentEncoding. Change the default value to the required value.

    • Appliance
      Property name: HTTP_CHARACTER_ENCODING 
      Default value: ""

      Setting this attribute on the appliance will require system shell access to enable/disable jmxport. In system shell, issue the following command to check if any value is set for the property:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      User will get output like:

      ContentEncodingv: []

      Now, try to set the value true to this property.

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

      Now verify the value set using:

      ihconfutil lookup /var/sysconf sysconf.db HTTP_CHARACTER_ENCODING

      This results in

      ContentEncodingv: [<new value>] 
      The hierarchy in appliance is
      1. Jconsole property
      2. Config property
      3. Default value
      If you want to change the value at runtime without restarting appliance you can use jconsole for appliance, but if you want to set the value and make it permanent, then you have to set in config properties. If nothing is set for both properties default (ISO-8859-1) is used.



Feedback | Notices


Timestamp icon Last updated: Wednesday, 15 June 2016


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/http_troubleshooting.html