| Summary | My Orbix client can talk to a JacORB CORBA server. What changes should I do to make it work? |
|---|---|
| Article Number | 13249 |
| Environment | All Supported Operating Systems Orbix 6.x |
| Question/Problem Description | My Orbix client can talk to a JacORB CORBA server. What changes should I do to make it work? My Orbix6 client is getting the error: org.omg.CORBA.INV_OBJREF: no iop::TAG_CODE_SETS component in profile. |
| Clarifying Information | |
| Error Message | |
| Defect/Enhancement Number | |
| Cause | |
| Resolution | Orbix 6.x has the capability to negotiate the IIOP codeset with other ORB during the connection establishment phase. However, not all ORB products do. For Example, JacORB specifies a fixed Codeset to be used. Since Orbix tries to negotiate the IIOP codeset first, before trying the default Orbix codeset, it will fail talking to ORB that does not support Codset negotiation. To be able to communicates properly with such ORBs
>> 0 [00] Byte order of IOR: (0) Big Endian >> 1 [00][00][00] (padding) >> 4 [00][00][00][2b] TypeId length: 43 bytes (including null) >> 8 [49][44][4c][3a][6f][6d][67][2e][6f][72][67][2f][43][6f][73][4e][61][6d][69][6e][67][2f][4e][61][6d][69][6e][67][43][6f][6e][74][6 [78][74][3a][31][2e][30][00] TypeId value: 'IDL:omg.org/CosNaming/NamingContextExt:1.0.' >> 51 [00] (padding) >> 52 [00][00][00][01] Number of tagged profiles: 1 Profile 1: >> 56 [00][00][00][00] Tag: (0) TAG_INTERNET_IOP >> 60 [00][00][00][70] Profile length: 112 bytes >> 64 [00] Byte Order: (0) Big Endian >> 65 [01][02] Version: 1.2 >> 68 [00][00][00][08] Host length: 8 bytes (including null) >> 72 [63][78][32][2d][61][70][70][00] Host string: 'cx2-app.' * host unknown; possibly unqualified (warning) >> 80 [79][52] Port: 31058 >> 82 [00][00] (padding) >> 84 [00][00][00][1f] Object Key length: 31 bytes (including any trailing null) >> 88 [53][74][61][6e][64][61][72][64][4e][53][2f][4e][61][6d][65][53][65][72][76][65][72][2d][50][4f][41][2f][5f][72][6f][6f][74] Object key data: 'StandardNS/NameServer-POA/_root' * no null character at end (warning) (key format not recognised) >> 119 [00] (padding) >> 120 [00][00][00][02] Number of tagged components: 2 Component 1: >> 124 [00].[00][00][00] Tag: (0) ORB_TYPE >> 128 [00][00][00][08] Component length: 8 bytes >> 132 [00] Component Byte Order: (0) Big Endian >> 133 [00][00][00] (padding) >> 136 [4a][41][43][00] Vendor ID: 0x4a414300, vendor: unknown 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 [05][01][00][01] CCS(1) CodeSet Id 83951617 (X/Open UTF-8; UCS Transformation Format 8 (UTF-8)) It is clear that the onlu codsets supports are:
So the right ORBIX configuration .[00][00][00] Tag: (0) ORB_TYPE >> 128 [00][00][00][08] Component length: 8 bytes >> 132 [00] Component Byte Order: (0) Big Endian >> 133 [00][00][00] (padding) >> 136 [4a][41][43][00] Vendor ID: 0x4a414300, vendor: unknown 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 [05][01][00][01] CCS(1) CodeSet Id 83951617 (X/Open UTF-8; UCS Transformation Format 8 (UTF-8)) It is clear that the onlu codsets supports are:
So the right ORBIX configuration .that will work will be: # changing Codeset setting plugins:codeset:char:ncs = "0x00010001"; # ISO-8859-1 plugins:codeset:char:ccs = ["0x05010001"]; UTF-8 plubins:codeset:wchar:ncs = "0x00010109"; # UTF-16 plugins:codeset:wchar:ccs = ["0x05010001"]; # UTF-8 # Turning off codeset nogotiation policies:giop:interop_policy:negotiate_transmission_codeset = "false"; For more information about codesets and internationalization in Orbix, please consult our Internationalization Guide, found on the Orbix documentation page. Orbix Internationalization Guide: http://supportline.microfocus.com/Documentation/books/Orbix/635/internationalization guide.pdf |
| Workaround | |
| Notes | |
| Attachment |
| Created date: | 06 September 2011 |
|---|---|
| Last Modified: | 23 August 2012 |
| Last Published: | 23 August 2012 |
| First Published date: | 09 September 2011 |
#KnowledgeDocs
#Orbix