UltraESB is proxying messages to the target service using the system-set character set / encoding value (either Java default or via the -Dfile.encoding system property).
When a client sends a HTTP request with a Content-Type header that specifies a different character set, e.g.:
UltraESB should inspect the header and use the client-specified character set for transmission to the target service.
Otherwise, the client's Content-Type header is still forwarded to the target system, specifying a different character set to the actual payload and causing the target system to respond with errors.