Skip to main content
Summary When wchar is used in an IDL definition, the invocation fails with NO_CODESETS_COMPONENT exception on client side.
Article Number 17361
Environment All Supported Operating Systems Orbix 6.3.4
Question/Problem Description When wchar is used in an IDL definition, the invocation fails with NO_CODESETS_COMPONENT exception on client side.
IT_GIOP:NO_CODESETS_COMPONENT when wchar is used in IDL definition
IDL:omg.org/CORBA/INV_OBJREF:1.0: minor = 0x49540201 (IT_GIOP:NO_CODESETS_COMPONENT), completion status = NO
 No code set component  exception reported on client side when wchar is used in IDL
Clarifying Information
Error Message
Defect/Enhancement Number
Cause

The client side ORB will throw IDL:omg.org/CORBA/INV_OBJREF:1.0: minor = 0x49540201 (IT_GIOP:NO_CODESETS_COMPONENT) if wchar/wstring types are specified in the IDL interface and no native wchar Code Set is specified in the server's IOR.

From CORBA 2.6 spec:

"If a server's native char code set is not specified in the IOR multi-component profile, then it is considered to be ISO 8859-1 for backward compatibility. However, a server
that supports interfaces that use wide character data is required to specify its native wchar code set; if one is not specified, then the client-side ORB raises exception
INV_OBJREF "

The "iordump" utility  can be used to verify if the code set component is present in the server's IOR. The following is an example of Code Set component contained in an Orbix 6 IOR:

iordump IOR:000000000000001c49444c3a53696d70....

.....

                Component 2:
>> 140 [00][00][00][01]
                        Tag: (1) CODE_SETS
>> 144 [00][00][00][1c]
                        Component length: 28 bytes
>> 148 [00]
                        Component Byte Order: (0) Big Endian
>> 149 [00][00][00]
        (padding)
>> 152 [00][01][00][01]
                        Native CodeSet id (for char): 65537
                        (ISO 8859-1:1987; Latin Alphabet No. 1)
>> 156 [00][00][00][01]
                        Number of conversion code sets (CCS): 1
>> 160 [05][01][00][01]
                        CCS(1) CodeSet Id 83951617
                        (X/Open UTF-8; UCS Transformation Format 8 (UTF-8))
>> 164 [00][01][01][09]
                        Native CodeSet id (for wchar): 65801
                        (ISO/IEC 10646-1:1993; UTF-16, UCS Transformation Format 16-bit form)
>> 168 [00][00][00][01]
                        Number of conversion code sets (CCS): 1
>> 172 [00][01][01][00]
                        CCS(1) CodeSet Id 65792
                        (ISO/IEC 10646-1:1993; UCS-2, Level 1)

 

 

Resolution Ensure the server side is publishing the wchar Code Set component in its IOR when wchar/wstring type is used in IDL definition. An Orbix 6 server will automatically include wchar component in its IOR. For further information on Code Sets please see the Orbix 6 "Internationalization Guide".
Workaround
Notes
Attachment
Created date: 06 September 2011
Last Modified: 13 February 2013
Last Published: 23 June 2012
First Published date: 09 September 2011

#KnowledgeDocs
#Orbix