Consultor Eletrônico



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.