SHA2 JAVACONTAINER UTFDATAFORMATEXCEPTION INVALID BYTE 2 SBL-EAI-00247

(Doc ID 2270804.1)

Last updated on JULY 11, 2017

Applies to:

Siebel CRM - Version 8.1.1.14 [IP2014] and later
Information in this document applies to any platform.

Symptoms

After implementing steps from KM article How To Setup SHA2 Certificates And Call Outbound Web Services Using SHA2 Certificates In Siebel ip2016 Version?(Doc ID 2226450.1)

To make outbound web service calls using SHA2 encryption it was noticed the javacontainer converts the response to UTF-16 without actually changing the XML prologue , which remains indicating the data is UTF-8.

Once the XML converter tries to parse the results, it tries to read it as UTF-8 as per the prolog, and fails when there are special characters present.

For example,

U+00C4 (Latin Capital Letter A with Diaeresis) is converted from UTF-8 to UTF-16 hexadecimal codes so that:

c3 84 "LATIN CAPITAL LETTER A WITH DIAERESIS" (2 bytes)

becomes

C4 (same char but single byte UTF-16 hex code)

but since the prolog still says UTF-8, the parser expects " c3 84" and fails when it sees "C4" .

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms