Unicode data

Unicode data is supported in request bodies and response bodies as long as the appropriate charset is provided via the Content-Type or Accept header. An example is Content-Type: application/xml ; charset=UTF-8 or Accept: application/xml ; charset=UTF-8.

Unicode data is not officially supported in HTTP headers. In order to provide Unicode data through a header, you must use the X-IntegrationServer-Encode-Headers header to specify that request and response headers should be encoded and the header value will need to be encoded according RFC 2047. A header encoded in this format takes the form of =?UTF-8?B?<base64 encoded header>?=. If Integration Server detects the X-IntegrationServer-Encode-Headers header is set, it will encode all X-IntegrationServer headers on the response. If using Basic authentication via the Authorization header and Unicode usernames and passwords are desired, the X-IntegrationServer-Encode-Headers header is required so that Integration Server will know how to decode the Authorization header properly. Note: only X-IntegrationServer-* headers should be encoded in this way.

As an example, if you want to pass a value of "Test" via the X-IntegrationServer-Sample header, these are the steps you would follow:

  1. Pass "UTF-8" via the X-IntegrationServer-Encode-Headers header.
  2. Pass "=?UTF-8?B?VGVzdA==?=" via the X-IntegrationServer-Sample header. Note: "VGVzdA==" is the Base64 encoded form of "Test".
  3. Expect that any X-IntegrationServer-* response headers will be encoded.