Kbase P167506: The Web Service client returns error 11471 when using a code page for -cpinternal that has no conver
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  3/23/2011 |
|
Status: Unverified
SYMPTOM(s):
The Web Service client returns error 11471 when using a code page for -cpinternal that has no conversion table to UTF-8
The Web Service client returns error 11471 when using -cpinternal ibm852
The Web Service client returns error 11471 when using -cpinternal ibm437
Error 11471 is returned when calling a Web Service operation
Error creating or sending message to invoke Web service operation <operation>. Unexpected error processing an INPUT or INPUT-OUTPUT parameter. (11471)
FACT(s) (Environment):
OpenEdge 10.2x
All Supported Operating Systems
CAUSE:
The problem lies with the "two-step" conversion that we perform when converting between for example IBM852 and UTF-8. The way this is currently done is by converting from IBM852 to 1250 and then from 1250 to UTF-8. The SOAP messages are sent as UTF-8, so that's why the conversion to UTF-8 needs to take place. Internally we use UTF-16 though, so at the end the result will be a "three-step" conversion of IBM850->1250->UTF-8->UTF-16. The OpenEdge client does not support "three-way" conversions though, so this will cause the error message.
FIX:
As a workaround add your own conversion table to %DLC%\prolang\convmap\utf-8.dat between the code page that you want to use for -cpinternal (e.g. IBM852) and UTF-8.
See Solution P114629, "Error 6063 with CODEPAGE-CONVERT and IBM278 codepage as parameter"for the general steps.