| Summary | What do the Orbix minor codes mean? |
|---|---|
| Article Number | 12947 |
| Environment | All Supported Operating Systems |
| Question/Problem Description | What do the Orbix minor codes mean? |
| Clarifying Information | The CORBA specification defines a set of standard exceptions which can be returned as a result of any operation invocation. All standard exceptions have an associated minor code which provides finer grained information pertaining to the exception in question. These minor codes relieve the ORB from defining an exhaustive list of all possible exceptions that may arise in a runtime environment. |
| Error Message | |
| Defect/Enhancement Number | |
| Cause | |
| Resolution | Minor exception codes are defined as an unsigned long and are comprised of: - A 20-bit Vendor Minor Code-set ID (VMCID) - A minor code, which occupies the 12 low order bits Each ORB vendor has a unique VMCID assigned by the OMG (Object Managemnent Group). The VMCID assigned to the original company behind Orbix (IONA Technologies) is "0x49540000", meaning this space is reserved for use by IONA exception minor codes. The minor code value for any exception (as found in the ex_body) is obtained by bit-wise OR of the VMCID with the minor code for the exception in question. (Note: The details of minor codes and their associated values should be transparent to the user).Orbix associates minor codes with readable strings, which protect the user from having to interpret minor codes. Orbix defines minor codes within each of its subsystems. When an exception is thrown, the subsystem in question associates a valid minor code, which maps to a unique error condition within that module. The following table lists the subsystems defined and the base values for the minor codes they define. The Orbix subsystem Base Minor Code ID are Core 0x49540100
GIOP 0x49540200
IIOP 0x49540300
IIOP_PROFILE 0x49540400
POA 0x49540500
PSS/DB 0x49540600
PSS 0x49540800
OTS 0x49540900
OTS_LITE 0x49540A00
Locator 0x49540B00
POA Locator 0x49540C00
Activator 0x49540D00
Generic Server 0x49540E00
Naming 0x49540F00
IFR 0x49541000
Config Rep. 0x49541100
Thread Pkg 0x49541200
PSS/R ODBC 0x49541300
ATLI-IOP none 0x49541400
A sample subsystem is the Orbix Locator (0x49540B00), which can throw a variety of exceptions, each with multiple possible minor codes to provide more detailed information about the exception within the context thrown. For example, the following are minor codes for the BAD_PARAM standard exception:
const unsigned long NO_ACTIVATOR_NAME = BASE ;
const unsigned long NO_ACTIVATOR_INFO = BASE 1;
const unsigned long ACTIVATOR_REG_NO_NAME = BASE 2;
const unsigned long ACTIVATOR_REG_NO_REF = BASE 3;
const unsigned long ACTIVATOR_UNREG_NO_NAME = BASE 4;
const unsigned long UNEXPECTED_NULL = BASE 5;
const unsigned long PROCESS_NOT_EXIST = BASE 6;
which equate to: NO_ACTIVATOR_NAME = 0x49540B00
NO_ACTIVATOR_INFO = 0x49540B01
ACTIVATOR_REG_NO_NAME = 0x49540B02
ACTIVATOR_REG_NO_REF = 0x49540B03
ACTIVATOR_UNREG_NO_NAME = 0x49540B04
UNEXPECTED_NULL = 0x49540B05
PROCESS_NOT_EXIST = 0x49540B06
java com.iona.corba.util.MinorCodeStringifier <major> <minor code>
CORBA TRANSIENT vmcid: 0x49540000 minor code: 256 completed: NO
0x49540000 0x100 = 0x49540100
java com.iona.corba.util.MinorCodeStringifier TRANSIENT 0x49540100
IT_Core:CANNOT_BIND.org/dc/elements/1.1/" xmlns:rss="http://purl.org/rss/1.0/"> NO_ACTIVATOR_NAME = 0x49540B00 |
| Workaround | |
| Notes | |
| Attachment |
| Created date: | 06 September 2011 |
|---|---|
| Last Modified: | 13 February 2013 |
| Last Published: | 02 May 2012 |
| First Published date: | 09 September 2011 |
#KnowledgeDocs
#Orbix