Skip Headers
Oracle® Application Server TopLink Application Developer's Guide
10g Release 2 (10.1.2)
Part No. B15901-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

Exception Error Codes and Descriptions

This section lists the OracleAS TopLink exception error codes, information about the likely Cause of the problem, and a possible corrective Action.

Each error code corresponds to an exception class and includes the following information:

Descriptor Exceptions (1 - 179)

A descriptor exception is a development exception that is raised when insufficient information is provided to the descriptor. The message that is returned includes the name of the descriptor or mapping that caused the exception. If a mapping within the descriptor caused the error, then the name and parameters of the mapping are part of the returned message, as shown in Example C-1.

The internal exception, mapping, and descriptor appear only if OracleAS TopLink has enough information about the source of the problem to provide this information.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message
INTERNAL EXCEPTION: Message
MAPPING: Database mapping
DESCRIPTOR: Descriptor

Example C-1 Descriptor Exception

EXCEPTION [TOPLINK – 75]: oracle.toplink.exceptions.DescriptorException
EXCEPTION DESCRIPTION: The reference class is not specified.

1: ATTRIBUTE_AND_MAPPING_WITH_INDIRECTION_ MISMATCH
Cause: attributeName is not declared as type ValueHolderInterface, but the mapping uses indirection. The mapping is set to use indirection, but the related attribute is not defined as type ValueHolderInterface. It is thrown on foreign reference mappings.
Action: If you want to use indirection on the mapping, change the attribute to type ValueHolderInterface. Otherwise, change the mapping associated with the attribute so that it does not use indirection.
2: ATTRIBUTE_AND_MAPPING_WITHOUT_INDIRECTION_ MISMATCH
Cause: attributeName is declared as type ValueHolderInterface, but OracleAS TopLink is unable to use indirection. The attribute is defined to be of type ValueHolderInterface, but the mapping is not set to use indirection. It is thrown on foreign reference mappings.
Action: If you do not want to use indirection on the mapping, change the attribute so it is not of type ValueHolderInterface. Otherwise, change the mapping associated with the attribute to use indirection.
6: ATTRIBUTE_NAME_NOT_SPECIFIED
Cause: The attribute name is missing or not specified in the mapping definition.
Action: Specify the attribute name in the mapping by calling the method setAttributeName(String attribute name).
7: ATTRIBUTE_TYPE_NOT_VALID
Cause: When using Java 2, the specified attributeName is not defined as type vector, or a type that implements the Map or Collection interface. This occurs in one-to-many mapping, many-to-many mapping, and collection mapping when mapping is set not to use indirection, and the attribute type is not declared.
Action: Declare the attribute to be of type java.util.Vector.
8: CLASS_INDICATOR_FIELD_NOT_FOUND
Cause: The class indicator field is defined, but the descriptor is set to use inheritance. When using inheritance, a class indicator field or class extraction method must be set. The class indicator field is used to create the right type of domain object.
Action: Set either a class indicator field or class extraction method.
9: DIRECT_FIELD_NAME_NOT_SET
Cause: The direct field name from the target table is not set in the direct collection mapping.
Action: Specify the direct field name by calling the method setDirectFieldName(String fieldName).
10: FIELD_NAME_NOT_SET_IN_MAPPING
Cause: The field name is not set in the mapping. It is thrown from direct to field mapping, array mapping, and structure mapping.
Action: Specify the field name by calling the method setFieldName(String fieldName).
11: FOREIGN_KEYS_DEFINED_INCORRECTLY
Cause: One-to-one mapping foreign key is defined incorrectly. Multiple foreign key fields were set for one-to-one mapping by calling the method setForeignKeyFieldName(String fieldName).
Action: Use the method addForeignKeyFieldName(String sourceForeignKeyName, String targetPrimaryKeyFieldName) to add multiple foreign key fields.
12: IDENTITY_MAP_NOT_SPECIFIED
Cause: The descriptor must use an identity map to use the Check cache does exist option. The descriptor has been set not to use identity map, but the existence checking is set to be performed on identity map.
Action: Either use identity map, or set the existence checking to some other option.
13: ILLEGAL_ACCESS_WHILE_GETTING_VALUE_THRU_ INSTANCE VARIABLE_ACCESSOR
Cause: OracleAS TopLink is unable to access the attributeName instance variable in object objectName. The instance variable in the domain object is not accessible. This exception is thrown when OracleAS TopLink tries to access the instance variable using the java.lang.reflect API package (Java reflection). The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
14: ILLEGAL_ACCESS_WHILE_CLONING
Cause: OracleAS TopLink is unable to clone the object domainObject because the clone method methodName is not accessible. The method name specified using useCloneCopyPolicy(String cloneMethodName) or the clone() method to create the clone on the domain object, is not accessible by OracleAS TopLink using Java reflection. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
15: ILLEGAL_ACCESS_WHILE_CONSTRUCTOR_INSTANTIATION
Cause: The domain class does not define a public default constructor, which OracleAS TopLink needs to create new instances of the domain class.
Action: Define a public default constructor or use a different instantiation policy.
16: ILLEGAL_ACCESS_WHILE_EVENT_EXECUTION
Cause: The descriptor callback method eventMethodName with DescriptorEvent as an argument is not accessible. This exception is thrown when OracleAS TopLink tries to access the event method using Java reflection. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
17: ILLEGAL_ACCESS_WHILE_GETTING_VALUE_THRU_ METHOD_ACCESSOR
Cause: Trying to invoke inaccessible methodName on the object objectName. The underlying get accessor method to access an attribute in the domain object is not accessible. This exception is thrown when OracleAS TopLink tries to access an attribute through a method using Java reflection. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
18: ILLEGAL_ACCESS_WHILE_INSTANTIATING_METHOD_ BASED_PROXY
Cause: The method used by the transformation mapping using a valueholder is invalid. This exception is thrown when OracleAS TopLink tries to access the method using Java reflection. The problem occurs when the method base valueholder is instantiated.
Action: Inspect the internal exception, and see the Java documentation.
19: ILLEGAL_ACCESS_WHILE_INVOKING_ATTRIBUTE_METHOD
Cause: On transformation mapping, the underlying attribute method that is used to retrieve values from the database row while reading the transformation mapped attribute is not accessible.
Action: Inspect the internal exception, and see the Java documentation.
20: ILLEGAL_ACCESS_WHILE_INVOKING_FIELD_TO_METHOD
Cause: On transformation mapping, the method methodName that is used to retrieve value from the object while writing the transformation mapped attribute is not accessible. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
21: ILLEGAL_ACCESS_WHILE_INVOKING_ROW_EXTRACTION_ METHOD
Cause: OracleAS TopLink was unable to extract data row, because OracleAS TopLink cannot access the row specified in the databaseRow argument of the method. The method to extract class from row on the domain object is not accessible. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
22: ILLEGAL_ACCESS_WHILE_METHOD_INSTANTIATION
Cause: OracleAS TopLink is unable to create a new instance, because the method methodName that creates instances on the domain class is not accessible. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
23: ILLEGAL_ACCESS_WHILE_OBSOLETE_EVENT_EXECUTION
Cause: The descriptor callback method eventMethodName with Session as an argument is inaccessible. This exception is thrown when OracleAS TopLink tries to access the event method using Java reflection. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
24: ILLEGAL_ACCESS_WHILE_SETTING_VALUE_THRU_ INSTANCE_VARIABLE_ACCESSOR
Cause: The attributeName instance variable in the object objectName is not accessible through Java reflection. The error is thrown by Java, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
25: ILLEGAL_ACCESS_WHILE_SETTING_VALUE_THRU_ METHOD_ACCESSOR
Cause: OracleAS TopLink is unable to invoke a method setMethodName on the object with parameter parameter. The attribute's set accessor method is not accessible through Java reflection. The error is thrown by Java and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
26: ILLEGAL_ARGUMENT_WHILE_GETTING_VALUE_ THRU_INSTANCE_VARIABLE_ACCESSOR
Cause: OracleAS TopLink is unable to get a value for an instance variable attributeName of type typeName from the object. The specified object is not an instance of the class or interface declaring the underlying field. An object is accessed to get the value of an instance variable that does not exist.
Action: Inspect the internal exception, and see the Java documentation.
27: ILLEGAL_ARGUMENT_WHILE_GETTING_VALUE_THRU_ METHOD_ACCESSOR
Cause: OracleAS TopLink is unable to invoke method methodName on the object objectName. The get accessor method declaration on the domain object differs from the one that is defined. The number of actual and formal parameters differ, or an unwrapping conversion has failed.
Action: Inspect the internal exception, and see the Java documentation.
28: ILLEGAL_ARGUMENT_WHILE_INSTANTIATING_METHOD_ BASED_PROXY
Cause: The method that the method-based proxy uses in a transformation mapping is getting invalid arguments when the valueholder is getting instantiated. This exception is thrown when OracleAS TopLink tries to access the method using Java reflection.
Action: Inspect the internal exception, and see the Java documentation.
29: ILLEGAL_ARGUMENT_WHILE_INVOKING_ATTRIBUTE_ METHOD
Cause: The number of actual and formal parameters differs, or an unwrapping conversion has failed. On transformation mapping, the method used to retrieve values from the database row while reading the transformation mapped attribute is getting an invalid argument.
Action: Inspect the internal exception, and see the Java documentation.
30: ILLEGAL_ARGUMENT_WHILE_INVOKING_FIELD_TO_ METHOD
Cause: The number of actual and formal parameters differs for method methodName, or an unwrapping conversion has failed. On transformation mapping, the method used to retrieve a value from the object while writing the transformation mapped attribute is getting an invalid argument. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
31: ILLEGAL_ARGUMENT_WHILE_OBSOLETE_EVENT_ EXECUTION
Cause: The number of actual and formal parameters for the descriptor callback method eventMethodName differs, or an unwrapping conversion has failed. The callback event method is invoked with an invalid argument. This exception is thrown when OracleAS TopLink tries to invoke the event method using Java reflection. The error is a purely Java exception, and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
32: ILLEGAL_ARGUMENT_WHILE_SETTING_VALUE_THRU_ INSTANCE_VARIABLE_ACCESSOR
Cause: An invalid value is being assigned to the attribute instance variable. OracleAS TopLink is unable to set a value for an instance variable attributeName of type typeName in the object. The specified object is not an instance of the class or interface that is declaring the underlying field, or an unwrapping conversion has failed.

OracleAS TopLink assigns value by using Java reflection. Java throws the error and OracleAS TopLink wraps only the reflection exception.

Action: Inspect the internal exception, and see the Java documentation.
33: ILLEGAL_ARGUMENT_WHILE_SETTING_VALUE_THRU _METHOD_ACCESSOR
Cause: An invalid argument is being passed to the attribute's set accessor method. OracleAS TopLink is unable to invoke method setMethodName on the object. The number of actual and formal parameters differs, or an unwrapping conversion has failed. Java throws the error and OracleAS TopLink wraps only the reflection exception.
Action: Inspect the internal exception, and see the Java documentation.
34: INSTANTIATION_WHILE_CONSTRUCTOR_INSTANTIATION
Cause: The class does not define a public default constructor, or the constructor raised an exception. This error occurs when you invoke the default constructor for the domain object to create a new instance of the object while building new domain objects if:
  • The class represents an abstract class, an interface, an array class, a primitive type, or void.

  • The instantiation fails for some other reason.

Java throws the error and OracleAS TopLink wraps only the reflection exception.

Action: Inspect the internal exception, and see the Java documentation.
35: INVALID_DATA_MODIFICATION_EVENT
Cause: Applications should never encounter this exception. This exception usually occurs at the time of developing OracleAS TopLink, although in cases where the developer writes new mapping, it is possible to get this exception. In direct collection mapping and many-to-many mapping, the target table and relational table are populated at the end of the commit process, and if a data modification event is sent to any other mapping, then this exception is thrown.
Action: Contact Oracle Support Services.
36: INVALID_DATA_MODIFICATION_EVENT_CODE
Cause: An application should never encounter this exception. This exception usually occurs at the time of developing OracleAS TopLink, although in cases where you write new mappings, it is possible to get this exception. In direct collection mapping and many-to-many mapping, the target table and relational table are populated at the end of the commit process, and if a data modification event is sent to these two mappings with wrong event code, then this exception is thrown.
Action: Contact Oracle Support Services.
37: INVALID_DESCRIPTOR_EVENT_CODE
Cause: An application should never encounter this exception. This exception usually occurs at the time of developing OracleAS TopLink. The exception means that the descriptor event manager does not support the event code passed in the event.
Action: Contact Oracle Support Services.
38: INVALID_IDENTITY_MAP
Cause: The identity map constructor failed because an invalid identity map was specified. The identity map class given in the descriptor cannot be instantiated. The exception is a Java exception thrown by a Java reflection when OracleAS TopLink instantiates the identity map class. OracleAS TopLink wraps only the Java exception.
Action: Inspect the internal exception, and see the Java documentation.
39: JAVA_CLASS_NOT_SPECIFIED
Cause: The descriptor does not define a Java class. The Java class is not specified in the descriptor.
Action: Specify the Java class.
40: DESCRIPTOR_FOR_INTERFACE_IS_MISSING
Cause: A descriptor for the referenced interface is not added to the session.
Action: Add that descriptor to the session.
41: MAPPING_FOR_SEQUENCE_NUMBER_FIELD
Cause: A non-read-only mapping is not defined for the sequence number field. A mapping is required so that OracleAS TopLink can put and extract values for the primary key.
Action: Define a mapping.
43: MISSING_CLASS_FOR_INDICATOR_FIELD_VALUE
Cause: OracleAS TopLink is missing the class for indicator field value classFieldValue of type type. There was no class entry found in the inheritance policy for the indicator field value that was read from the database. It is likely that the method addClassIndicator(Class class, Object typeValue) was not called for the field value. The class and typeValue are stored in a hash table, and later the class is extracted from the hash table by passing typeValue as a key. Because Integer(1) is not equivalent to Float(1), this exception occurs when the type of typeValue is incorrectly specified.
Action: Verify the descriptor.
44: MISSING_CLASS_INDICATOR_FIELD
Cause: The class indicator field is missing from the database row that was read from the database. This is performed in the inheritance model where after reading rows from the database, child domain objects are to be constructed depending upon the type indicator values.
Action: Verify the printed row for correct spelling.
45: MISSING_MAPPING_FOR_FIELD
Cause: OracleAS TopLink is missing a mapping for field; a mapping for the field is not specified.
Action: Define a mapping for the field.
46: NO_MAPPING_FOR_PRIMARY_KEY
Cause: A mapping for the primary key is not specified. There should be one non-read-only mapping defined for the primary key field.
Action: Define a mapping for the primary key.
47: MULTIPLE_TABLE_PRIMARY_KEY_NOT_SPECIFIED
Cause: The multiple table primary key mapping must be specified when a custom multiple table join is used. If multiple tables are specified in the descriptor and the join expression is customized, then the primary keys for all the tables must be specified. If the primary keys are not specified, then the exception occurs.
Action: Call the method addMultipleTablePrimaryKeyFieldName(String fieldNameInPrimaryTable, String fieldNameInSecondaryTable) on the descriptor to set the primary keys.
48: MULTIPLE_WRITE_MAPPINGS_FOR_FIELD
Cause: Multiple writable mappings for the field fieldName are defined in the descriptor. Exactly one must be defined as writable; the others must be specified as read-only. When multiple write mappings are defined for the field, OracleAS TopLink is unable to choose the appropriate mapping for writing the value of the field in the database row. Therefore, the exception is thrown during the validation process of descriptors.

The most common cause of this problem occurs when the field has direct-to-field mapping, as well as one-to-one mapping. In this case, the one-to-one mapping must either be read-only or a target foreign key reference.

Action: Make one of those mappings read-only.
49: NO_ATTRIBUTE_TRANSFORMATION_METHOD
Cause: The attribute transformation method name in the transformation mapping is not specified. This method is invoked internally by OracleAS TopLink to retrieve value to store in the domain object.
Action: Define a method and set the method name on the mapping by calling the method setAttributeTransformation(String methodName).
50: NO_FIELD_NAME_FOR_MAPPING
Cause: No field name is specified in direct-to-field mapping.
Action: Set the field by calling setFieldName(String FieldName).
51: NO_FOREIGN_KEYS_ARE_SPECIFIED
Cause: Neither the selection criteria nor the foreign keys were specified on one-to-one mapping. If the selection criterion is not specified, then OracleAS TopLink tries to build one from the foreign keys specified in the mapping.
Action: Specify the fields.
52: NO_REFERENCE_KEY_IS_SPECIFIED
Cause: No query key named queryKey is found in descriptor. No reference key from the target table is specified on direct collection mapping.
Action: Specify the fields by calling the method setReferenceKeyFieldName(String fieldName).
53: NO_RELATION_TABLE
Cause: The relation table name is not set in this many-to-many mapping.
Action: Set the relation table name by calling method setRelationTableName(String tableName).
54: NO_SOURCE_RELATION_KEYS_SPECIFIED
Cause: There are no source relation keys specified in this many-to-many mapping.
Action: Add source relation keys to the mapping.
55: NO_SUCH_METHOD_ON_FIND_OBSOLETE_METHOD
Cause: OracleAS TopLink cannot find the descriptor callback method selector on the domain class. It must take a Session or a DescriptorEvent as its argument. OracleAS TopLink tries to invoke the method using Java reflection. It is a Java exception and OracleAS TopLink is wrapping only the main exception.
Action: Inspect the internal exception, and see the Java documentation.
56: NO_SUCH_METHOD_ON_INITIALIZING_ ATTRIBUTE_METHOD
Cause: OracleAS TopLink cannot find the method attributeMethodName with parameters databaseRow or databaseRow, session. OracleAS TopLink wraps the Java reflection exception that is caused when the method is being created from the method name. This method is set by calling setAttributeMethodName(String aMethodName).
Action: Inspect the internal exception, and see the Java documentation.
57: NO_SUCH_METHOD_WHILE_CONSTRUCTOR_INSTANTIATION
Cause: The constructor is inaccessible to OracleAS TopLink. OracleAS TopLink wraps the Java reflection exception that is caused when it is creating a new instance of the domain.
Action: Inspect the internal exception, and see the Java documentation.
58: NO_SUCH_METHOD_WHILE_CONVERTING_TO_METHOD
Cause: TopLink failed to find a method with signature methodName() or methodName(oracle.toplink.sessions.Session). OracleAS TopLink wraps the Java reflection exception that is caused when it is creating a Method (java.lang.reflect.Method) type from the method names in transformation mapping.
Action: Inspect the internal exception, and see the Java documentation.
59: NO_SUCH_FIELD_WHILE_INITIALIZING_ATTRIBUTES_ IN_INSTANCE_VARIABLE_ACCESSOR
Cause: The instance variable attributeName is not defined in the domain class, or it is not accessible. OracleAS TopLink wraps the Java reflection exception that is caused when it is creating a Field (java.lang.reflect.Field) type from the attribute name.
Action: Inspect the internal exception, and see the Java documentation.
60: NO_SUCH_METHOD_WHILE_INITIALIZING_ATTRIBUTES_IN_METHOD_ACCESSOR
Cause: The accessor method setMethodName or getMethodName is not defined for the attribute in the domain class javaClassName, or it is not accessible. OracleAS TopLink wraps the Java reflection exception that is caused when it is creating a Method type from the method name.
Action: Inspect the internal exception, and see the Java documentation.
61: NO_SUCH_METHOD_WHILE_INITIALIZING_ CLASS_EXTRACTION_METHOD
Cause: The static class extraction method methodName with databaseRow as an argument does not exist, or is not accessible. A Java reflection exception wrapped in an OracleAS TopLink exception is thrown when a class extraction method is being created from the method name in the inheritance policy.
Action: Inspect the internal exception, and see the Java documentation.
62: NO_SUCH_METHOD_WHILE_INITIALIZING_COPY_POLICY
Cause: The clone method methodName with no arguments does not exist, or is not accessible. A Java reflection exception wrapped in an OracleAS TopLink exception is thrown when a method to create clones is being created from the method name in the copy policy.
Action: Inspect the internal exception, and see the Java documentation.
63: NO_SUCH_METHOD_WHILE_INITIALIZING_INSTANTIATION_POLICY
Cause: The instance creation method methodName with no arguments does not exist, or is not accessible. A Java reflection exception wrapped in an OracleAS TopLink exception is thrown when a method to create the new instance is being created from the method name in the instantiation policy.
Action: Inspect the internal exception, and see the Java documentation.
64: NO_TARGET_FOREIGN_KEYS_SPECIFIED
Cause: The foreign keys in the target table are not specified in one-to-many mappings. These fields are not required if a selection criterion is given in the mapping, but otherwise they must be specified.
Action: Set target foreign keys or selection criteria.
65: NO_TARGET_RELATION_KEYS_SPECIFIED
Cause: There are no target relation keys specified in many-to-many mappings.
Action: Call method addTargetRelationKeyFieldName(String targetRelationKeyFieldName, String targetPrimaryKeyFieldName) to set the fields.
66: NOT_DESERIALIZABLE
Cause: The object cannot be deserialized from the byte array that is read from the database. The exception is thrown when the serialized object mapping is converting the byte array into an object.
Action: Inspect the internal exception, and see the Java documentation.
67: NOT_SERIALIZABLE
Cause: The object cannot be serialized into a byte array. The exception is thrown when a serialized object mapping is converting the object into a byte array.
Action: Inspect the internal exception, and see the Java documentation.
68: NULL_FOR_NON_NULL_AGGREGATE
Cause: The value of the aggregate in the source object object is null. Null values are not allowed for aggregate mappings unless allow null is specified in the aggregate mapping.
Action: Call the mapping method allowNull(). Provide parameters only if you are making a distinction between foo() and foo(integer).
69: NULL_POINTER_WHILE_GETTING_VALUE_THRU_ INSTANCE_VARIABLE_ACCESSOR
Cause: An object is accessed to get the value of an instance variable through Java reflection. This exception is thrown only on some Java Virtual Machines (JVMs).
Action: Inspect the internal exception, and see the Java documentation.
70: NULL_POINTER_WHILE_GETTING_VALUE_THRU_ METHOD_ACCESSOR
Cause: The get accessor method is invoked to get the value of an attribute through Java reflection. This exception is thrown only on some Java Virtual Machines (JVM).
Action: Inspect the internal exception, and see the Java documentation.
71: NULL_POINTER_WHILE_SETTING_VALUE_THRU_ INSTANCE_VARIABLE_ACCESSOR
Cause: A null pointer exception has been thrown while setting the value of the attributeName instance variable in the object to value. An object is accessed to set the value of an instance variable through Java reflection. This exception is thrown only on some Java Virtual Machines (JVMs).
Action: Inspect the internal exception, and see the Java documentation.
72: NULL_POINTER_WHILE_SETTING_VALUE_THRU_ METHOD_ACCESSOR
Cause: A Null Pointer Exception has been thrown while setting the value through setMethodName method in the object with an argument argument. The set accessor method is invoked to set the value of an attribute through Java reflection. This exception is thrown only on some Java Virtual Machines (JVM).
Action: Inspect the internal exception, and see the Java documentation.
73: PARENT_DESCRIPTOR_NOT_SPECIFIED
Cause: OracleAS TopLink is unable to find the descriptor for the parent class. The descriptor of a subclass has no parent descriptor.
Action: The method setParentClass(Class parentClass) on the subclass descriptor must be called.
74: PRIMARY_KEY_FIELDS_NOT_SPECIFIED
Cause: The primary key fields are not set for this descriptor.
Action: Add primary key field names using method setPrimaryKeyFieldName(String fieldName) or setPrimaryKeyFieldName(String fieldName).
75: REFERENCE_CLASS_NOT_SPECIFIED
Cause: The reference class is not specified in the foreign reference mapping.
Action: Set the reference class by calling the method setReferenceClass(Class aClass).
77: REFERENCE_DESCRIPTOR_IS_NOT_AGGREGATE
Cause: The referenced descriptor for className should be set to an aggregate descriptor. An aggregate mapping should always reference a descriptor that is aggregate.
Action: Call the method descriptorIsAggregate() on the referenced descriptor.
78: REFERENCE_KEY_FIELD_NOT_PROPERLY_SPECIFIED
Cause: The table for the reference field must be the reference table. If the reference field name that is specified in the direct collection mapping is qualified with the table name, then the table name should match the reference table name.
Action: Qualify the field with the proper name, or change the reference table name.
79: REFERENCE_TABLE_NOT_SPECIFIED
Cause: The reference table name in the direct collection mapping is not specified.
Action: Use the method setReferenceTableName(String tableName) on the mapping to set the table name.
80: RELATION_KEY_FIELD_NOT_PROPERLY_SPECIFIED
Cause: The table for the relation key field must be the relation table. If the source and target relation fields names that are specified in the many-to-many mapping are qualified with the table name, then the table name should match the relation table name.
Action: Qualify the field with the proper name, or change the relation table name.
81: RETURN_TYPE_IN_GET_ATTRIBUTE_ACCESSOR
Cause: The method attributeMethodName that is specified in the transformation mapping should have a return type set in the attribute because this method is used to extract value from the database row.
Action: Verify the method and make appropriate changes.
82: SECURITY_ON_FIND_METHOD
Cause: The descriptor callback method selector with DescriptorEvent as an argument is not accessible. Java throws a security exception when a Method type is created from the method name using Java reflection. The method is a descriptor event callback on the domain object that takes DescriptorEvent as its parameter.
Action: Inspect the internal exception, and see the Java documentation.
83: SECURITY_ON_FIND_OBSOLETE_METHOD
Cause: The descriptor callback method selector with session as an argument is not accessible. Java throws a security exception when a Method type is created from the method name using Java reflection. The method is a descriptor event callback on the domain object, which takes class and session as its parameters.
Action: Inspect the internal exception, and see the Java documentation.
84: SECURITY_ON_INITIALIZING_ATTRIBUTE_METHOD
Cause: Access to the method attributeMethodName with parameters databaseRow or databaseRow, Session has been denied. Java throws a security exception when a Method type is created from the attribute method name using Java reflection. The attribute method that is specified in the transformation mapping is used to extract value from the database row and set by calling setAttributeTransformation(String methodName).
Action: Inspect the internal exception, and see the Java documentation.
85: SECURITY_WHILE_CONVERTING_TO_METHOD
Cause: OracleAS TopLink failed to find a method with signature methodName() or methodName(oracle.toplink.sessions.Session). Java throws a security exception when a Method type is created from the method name using Java reflection. These are the methods that extract the field value from the domain object in the transformation mapping.
Action: Inspect the internal exception, and see the Java documentation.
86: SECURITY_WHILE_INITIALIZING_ATTRIBUTES_IN_INSTANCE_VARIABLE_ACCESSOR
Cause: Access to the instance variable attributeName in the class javaClassName is denied. Java throws a security exception when creating a Field type from the given attribute name using Java reflection.
Action: Inspect the internal exception, and see the Java documentation.
87: SECURITY_WHILE_INITIALIZING_ATTRIBUTES_IN_ METHOD_ACCESSOR
Cause: The methods setMethodName and getMethodName in the object javaClassName are inaccessible. Java throws a security exception when creating a Method type from the given attribute accessor method name using Java reflection.
Action: Inspect the internal exception, and see the Java documentation.
88: SECURITY_WHILE_INITIALIZING_CLASS_ EXTRACTION_METHOD
Cause: The static class extraction method methodName with DatabaseRow as an argument is not accessible. Java throws a security exception when creating a Method type from the given class extraction method name using Java reflection. The method is used to extract the class from the database row in the inheritance policy.
Action: Inspect the internal exception, and see the Java documentation.
89: SECURITY_WHILE_INITIALIZING_COPY_POLICY
Cause: The clone method methodName with no arguments is inaccessible. Java throws a security exception when creating a Method type from the given method name using Java reflection. This method on copy policy is used to create clones of the domain object.
Action: Inspect the internal exception, and see the Java documentation.
90: SECURITY_WHILE_INITIALIZING_INSTANTIATION_POLICY
Cause: The instance creation method methodName with no arguments is inaccessible. Java throws a security exception when creating Method type from the given method name using Java reflection. This method on instantiation policy is used to create new instances of the domain object.
Action: Inspect the internal exception, and see the Java documentation.
91: SEQUENCE_NUMBER_PROPERTY_NOT_SPECIFIED
Cause: Either the sequence field name or the sequence number name is missing. To use sequence-generated IDs, both the sequence number name and field name properties must be set.
Action: To use sequence-generated IDs, set both the sequence number name and field name properties.
92: SIZE_MISMATCH_OF_FOREIGN_KEYS
Cause: The size of the primary keys on the target table does not match the size of the foreign keys on the source in one-to-one mapping.
Action: Verify the mapping and the reference descriptor's primary keys.
93: TABLE_NOT_PRESENT
Cause: The table tableName is not present in the descriptor.
Action: Verify the qualified field names that are specified in the mappings and descriptor so that any fields that are qualified with the table name reference the correct table.
94: TABLE_NOT_SPECIFIED
Cause: No table is specified in the descriptor. The descriptor must have a table name defined.
Action: Call the method addTableName(String tableName) or setTableName(String tableName) to set the tables on the descriptor.
96: TARGET_FOREIGN_KEYS_SIZE_MISMATCH
Cause: The size of the foreign keys on the target table does not match the size of the source keys on the source table in the one-to-many mapping.
Action: Verify the mapping.
97: TARGET_INVOCATION_WHILE_CLONING
Cause: OracleAS TopLink has encountered a problem in cloning the object domainObject clone method. The methodName triggered an exception. Java throws this exception when the cloned object is invoked while the object is being cloned. The clone method is specified on the copy policy that is usually invoked to create clones in Unit of Work.
Action: Inspect the internal exception, and see the Java documentation.
98: TARGET_INVOCATION_WHILE_EVENT_EXECUTION
Cause: A descriptor callback method eventMethodName that includes a DescriptorEvent as argument is not accessible. The exception occurs when the descriptor event method is invoked using Java reflection.
Action: Inspect the internal exception, and see the Java documentation.
99: TARGET_INVOCATION_WHILE_GETTING_VALUE_THRU_METHOD_ACCESSOR
Cause: The method methodName on the object objectName is throwing an exception. Java is throwing an exception while getting an attribute value from the object through a method accessor.
Action: Inspect the internal exception, and see the Java documentation.
100: TARGET_INVOCATION_WHILE_INSTANTIATING_METHOD_BASED_PROXY
Cause: A method has thrown an exception. Java throws this exception while instantiating a method based proxy and instantiating transformation mapping.
Action: Inspect the internal exception, and see the Java documentation.
101: TARGET_INVOCATION_WHILE_INVOKING_ATTRIBUTE_METHOD
Cause: The underlying method throws an exception. Java is throwing an exception while invoking an attribute transformation method on transformation mapping. The method is invoked to extract value from the database row to set into the domain object.
Action: Inspect the internal exception, and see the Java documentation.
102: TARGET_INVOCATION_WHILE_INVOKING_FIELD_TO_METHOD
Cause: The method methodName is throwing an exception. Java is throwing exception while invoking field transformation method on transformation mapping. The method is invoked to extract value from the domain object to set into the database row.
Action: Inspect the internal exception, and see the Java documentation.
103: TARGET_INVOCATION_WHILE_INVOKING_ROW_ EXTRACTION_METHOD
Cause: OracleAS TopLink encountered a problem extracting the class type from row row while invoking a class extraction method.
Action: Inspect the internal exception, and see the Java documentation.
104: TARGET_INVOCATION_WHILE_METHOD_INSTANTIATION
Cause: OracleAS TopLink is unable to create a new instance. The creation method methodName caused an exception.
Action: Inspect the internal exception, and see the Java documentation.
105: TARGET_INVOCATION_WHILE_OBSOLETE_EVENT_EXECUTION
Cause: The underlying descriptor callback method eventMethodName with session as an argument throws an exception. Java is throwing an exception while invoking a descriptor event method that takes a session as its parameter.
Action: Inspect the internal exception, and see the Java documentation.
106: TARGET_INVOCATION_WHILE_SETTING_VALUE_THRU_METHOD_ACESSOR
Cause: The method setMethodName on the object throws an exception. Java is throwing an exception while invoking a set accessor method on the domain object to set an attribute value into the domain object.
Action: Inspect the internal exception, and see the Java documentation.
108: VALUE_NOT_FOUND_IN_CLASS_INDICATOR_MAPPING
Cause: The indicator value is not found in the class indicator mapping in the parent descriptor for the class.
Action: Verify the addClassIndicator(Class childClass, Object typeValue) on the inheritance policy.
109: WRITE_LOCK_FIELD_IN_CHILD_DESCRIPTOR
Cause: The child descriptor has a write-lock field defined. This is unnecessary, because it inherits any required locking from the parent descriptor.
Action: Check your child descriptor, and remove the field.
110: DESCRIPTOR_IS_MISSING
Cause: The descriptor for the reference class className is missing from the mapping.
Action: Verify the session to see if the descriptor for the reference class was added.
111: MULTIPLE_TABLE_PRIMARY_KEY_MUST_BE_FULLY_QUALIFIED
Cause: Multiple table primary key field names are not fully qualified. These field names are given on the descriptor if it has more than one table.
Action: Specify the field names with the table name.
112: ONLY_ONE_TABLE_CAN_BE_ADDED_WITH_THIS_METHOD
Cause: You have tried to enter more than one table through this method.
Action: Use the method addTableName(String tableName) to add multiple tables to the descriptor.
113: NULL_POINTER_WHILE_CONSTRUCTOR_INSTANTIATION
Cause: The constructor is inaccessible. Java is throwing this exception while invoking a default constructor to create new instances of the domain object.
Action: Inspect the internal exception, and see the Java documentation.
114: NULL_POINTER_WHILE_METHOD_INSTANTIATION
Cause: The new instance methodName creation method is inaccessible. Java is throwing an exception while calling a method to a build new instance of the domain object. This method is given by the user to override the default behavior of creating new instances through a class constructor.
Action: Inspect the internal exception, and see the Java documentation.
115: NO_ATTRIBUTE_VALUE_CONVERSION_TO_FIELD_VALUE_PROVIDED
Cause: The field conversion value for the attribute value attributeValue was not given in the object type mapping.
Action: Verify the attribute value, and provide a corresponding field value in the mapping.
116: NO_FIELD_VALUE_CONVERSION_TO_ATTRIBUTE_VALUE_PROVIDED
Cause: The attribute conversion value for the fieldValue was not given in the object type mapping.
Action: Verify the field value, and provide a corresponding attribute value in the mapping.
118: LOCK_MAPPING_CANNOT_BE_READONLY
Cause: The domain object className cannot have a read-only mapping for the write-lock fields when the version value is stored in the object.
Action: Verify the mappings on the write-lock fields.
119: LOCK_MAPPING_MUST_BE_READONLY
Cause: The domain object className does not have a read only mapping for the write-lock fields when the version value is stored in the cache.
Action: Verify the mappings on write-lock fields.
120: CHILD_DOES_NOT_DEFINE_ABSTRACT_QUERY_KEY
Cause: The query key queryKeyName is defined in the parent descriptor but not in the child descriptor. The descriptor has not defined the abstract query key.
Action: Define any class that implements the interface descriptor by the abstract query key in the interface descriptor.
122: SET_EXISTENCE_CHECKING_NOT_UNDERSTOOD
Cause: The interface descriptor parent does not have at least one abstract query key defined. The string given to the method setExistenceChecking(String token) is not understood.
Action: Contact Oracle Support Services.
125: VALUE_HOLDER_INSTANTIATION_MISMATCH
Cause: The mapping for the attribute mapping.getAttributeName() uses indirection and must be initialized to a new value holder.
Action: Ensure that the mapping uses indirection and that the attribute is initialized to a new value holder.
126: NO_SUB_CLASS_MATCH
Cause: No subclass matches this class theClass when inheritance is in aggregate relationship mapping.
Action: Verify the subclass and the relationship mapping.
127: RETURN_AND_MAPPING_WITH_INDIRECTION_MISMATCH
Cause: The get method return type for the attribute mapping.getAttributeName() is not declared as type ValueHolderInterface, but the mapping is using indirection.
Action: Verify that the get method returns a valueholder, or change the mapping to not use indirection.
128: RETURN_AND_MAPPING_WITHOUT_INDIRECTION_MISMATCH
Cause: The get method return type for the attribute mapping.getAttributeName() is declared as type ValueHolderInterface, but the mapping is not using indirection.
Action: Ensure that the mapping is using indirection, or change the return type from value holder.
129: PARAMETER_AND_MAPPING_WITH_INDIRECTION_MISMATCH
Cause: The set method parameter type for the attribute mapping.getAttributeName() is not declared as type ValueHolderInterface, but the mapping is using indirection.
Action: Ensure that the set method parameter is declared as a value holder, or change the mapping so it does not use indirection.
130: PARAMETER_AND_MAPPING_WITHOUT_INDIRECTION_MISMATCH
Cause: The set method parameter type for the attribute mapping.getAttributeName() is declared as type ValueHolderInterface, but the mapping is not using indirection.
Action: Ensure that the mapping is changed to use indirection, or that the set method parameter is not declared as a value holder.
131: GET_METHOD_RETURN_TYPE_NOT_VALID
Cause: The get method return type for the attribute mapping.getAttributeName() is not declared as type vector (or a type that implements Map or Collection if using Java 2).
Action: Declare the get method return type for the attribute as type vector (or a type that implements the Map or Collection interface if using Java 2).
133: SET_METHOD_PARAMETER_TYPE_NOT_VALID
Cause: The set method parameter type for the attribute mapping.getAttributeName() is not declared as type Vector (or a type that implements Map or Collection, if using Java 2).
Action: Declare the set method parameter type for the attribute as type Vector (or a type that implements the Map or Collection interface, if using Java 2).
135: ILLEGAL_TABLE_NAME_IN_MULTIPLE_TABLE_FOREIGN_KEY
Cause: The table in the multiple table foreign key relationship refers to an unknown table.
Action: Verify the table name.
138: ATTRIBUTE_AND_MAPPING_WITH_TRANSPARENT_INDIRECTION_MISMATCH
Cause: The attribute mapping.getAttributeName() is not declared as a super-type of validTypeName, but the mapping is using transparent indirection.
Action: Verify the attribute's type and the mapping setup.
139: RETURN_AND_MAPPING_WITH_TRANSPARENT_INDIRECTION_MISMATCH
Cause: The get method return type for the attribute mapping.getAttributeName() is not declared as a super-type of validTypeName, but the mapping is using transparent indirection.
Action: Verify the attribute's type and the mapping setup.
140: PARAMETER_AND_MAPPING_WITH_TRANSPARENT_ INDIRECTION_MISMATCH
Cause: The set method parameter type for the attribute mapping.getAttributeName() is not declared as a super-type of validTypeName, but the mapping is using transparent indirection.
Action: Verify the attribute's type and the mapping setup.
141: FIELD_IS_NOT_PRESENT_IN_DATABASE
Cause: The field fieldname is not present in the table tableName in the database.
Action: Verify the field name for the attribute.
142: TABLE_IS_NOT_PRESENT_IN_DATABASE
Cause: The table whose name is provided by the descriptor.getTableName() method is not present in the database.
Action: Verify the table name for the descriptor.
143: MULTIPLE_TABLE_INSERT_ORDER_MISMATCH
Cause: The multiple table insert order vector specified aDescriptor.getMultipleTableInsertOrder() has more or fewer tables than are specified in the descriptor aDescriptor.getTables(). All the tables must be included in the insert order vector.
Action: Ensure that all table names for the descriptor are present and that there are no extra tables.
144: INVALID_USE_OF_TRANSPARENT_INDIRECTION
Cause: Transparent indirection is being used with a mapping other than CollectionMapping.
Action: Verify the mapping. It must be a collection mapping.
145: MISSING_INDIRECT_CONTAINER_CONSTRUCTOR
Cause: The indirect container class does not implement the constructor.
Action: Implement the constructor for the container.
146: COULD_NOT_INSTANTIATE_INDIRECT_CONTAINER_CLASS
Cause: OracleAS TopLink is unable to instantiate the indirect container class using the constructor.
Action: Validate the constructor for the indirect container class.
147: INVALID_CONTAINER_POLICY
Cause: You have used a container policy with an incompatible version of the JDK. This container policy must only be used with JDK 1.4.1 or higher.
Action: Validate the container policy being used.
148: INVALID_CONTAINER_POLICY_WITH_TRANSPARENT_ INDIRECTION
Cause: The container policy is incompatible with transparent indirection.
Action: Change the container policy to be compatible with transparent indirection, or do not use transparent indirection.
149: INVALID_USE_OF_NO_INDIRECTION
Cause: NoIndirectionPolicy objects should not receive this message.
Action: Contact Oracle Support Services.
150: INDIRECT_CONTAINER_INSTANTIATION_MISMATCH
Cause: The mapping for the attribute mapping.getAttributeName() uses transparent indirection and must be initialized to an appropriate container.
Action: Initialize the mapping to an appropriate container.
151: INVALID_MAPPING_OPERATION
Cause: An invalid mapping operation has been used.
Action: See the documentation for valid mapping operations.
152: INVALID_INDIRECTION_POLICY_OPERATION
Cause: An invalid indirection policy operation has been used.
Action: See the documentation for valid indirection policy operations.
153: REFERENCE_DESCRIPTOR_IS_NOT_AGGREGATECOLLECTION
Cause: The reference descriptor for className is not set to an aggregate collection descriptor.
Action: Set the reference descriptor to an aggregate collection descriptor.
154: INVALID_INDIRECTION_CONTAINER_CLASS
Cause: An invalid indirection container class has been used.
Action: Verify the container class.
155: MISSING_FOREIGN_KEY_TRANSLATION
Cause: The mapping does not include a foreign key field linked to the primary key field.
Action: Link the foreign key to the appropriate primary key.
156: STRUCTURE_NAME_NOT_SET_IN_MAPPING
Cause: The structure name is not set.
Action: Set the structure name appropriately.
157: NORMAL_DESCRIPTORS_DO_NOT_SUPPORT_NON_RELATIONAL_EXTENSIONS
Cause: Relational descriptors do not support nonrelational extensions.
Action: Contact Oracle Support Services.
158: PARENT_CLASS_IS_SELF
Cause: The descriptor's parent class has been set to itself.
Action: Contact Oracle Support Services.
159: PROXY_INDIRECTION_NOT_AVAILABLE
Cause: An attempt to use proxy indirection has been made, but JDK 1.3.1 or later is not being used.
Action: Use JDK 1.4.1 or later.
160: INVALID_ATTRIBUTE_TYPE_FOR_PROXY_INDIRECTION
Cause: The attribute was not specified in the list of interfaces given to use proxy indirection.
Action: Verify the attribute.
161: INVALID_GET_RETURN_TYPE_FOR _PROXY_INDIRECTION
Cause: The return type for the indirection policy is invalid for the indirection policy.
Action: Ensure that the parameter type of the attribute's get method is correct for the indirection policy.
162: INVALID_SET_PARAMETER_TYPE_FOR_PROXY_ INDIRECTION
Cause: The parameter for the set method is incorrect for the indirection type.
Action: Ensure that the parameter type of the attribute's set method is correct for the indirection policy.
163: INCORRECT_COLLECTION_POLICY
Cause: The container policy is invalid for the collection type.
Action: Ensure that the container policy is correct for the collection type.
164: INVALID_AMENDMENT_METHOD
Cause: The amendment method that is provided is invalid, not public, or cannot be found.
Action: Ensure that the amendment method is public, static, returns void, and has a single argument: Descriptor.
165: ERROR_OCCURRED_IN_AMENDMENT_METHOD
Cause: The specified amendment method threw an exception.
Action: Examine the returned exception for further information.
166: VARIABLE_ONE_TO_ONE_MAPPING_IS_NOT_DEFINED
Cause: There is no mapping for the attribute.
Action: Validate the mapping and attribute.
168: TARGET_INVOCATION_WHILE_CONSTRUCTOR_INSTANTIATION
Cause: The constructor is missing.
Action: Create the required constructor.
169: TARGET_INVOCATION_WHILE_CONSTRUCTOR_INSTANTIATION_OF_FACTORY
Cause: The constructor is missing.
Action: Create the required constructor.
170: ILLEGAL_ACCESS_WHILE_CONSTRUCTOR_INSTANTIATION_OF_FACTORY
Cause: Permissions do not allow access to the constructor.
Action: Adjust the Java security permissions to permit access to the constructor.
171: INSTANTIATION_WHILE_CONSTRUCTOR_INSTANTIATION_OF_FACTORY
Cause: An instantiation failed inside the associated constructor.
Action: Determine which objects are being instantiated, and verify that all are instantiated properly.
172: NO_SUCH_METHOD_WHILE_CONSTRUCTOR_INSTANTIATION_OF_FACTORY
Cause: A message send invoked from inside the constructor is invalid because the method does not exist.
Action: Correct the message send, ensuring that the method exists.
173: NULL_POINTER_WHILE_CONSTRUCTOR_INSTANTIATION_OF_FACTORY
Cause: A message was sent from inside a constructor to a null object.
Action: Examine the internal exception and take the appropriate action.
174: ILLEGAL_ACCESS_WHILE_METHOD_ INSTANTIATION_OF_FACTORY
Cause: A message was sent to an object from inside a factory instantiation, and Java has determined this message to be invalid.
Action: Determine why the message sent is invalid, and replace the message with a valid one.
175: TARGET_INVOCATION_WHILE_METHOD_ INSTANTIATION_OF_FACTORY
Cause: A problem was encountered creating factory using creation method. The creation method triggered an exception.
Action: Examine the exception and take the corresponding action.
176: NULL_POINTER_WHILE_METHOD_ INSTANTIATION_OF_FACTORY
Cause: A method called to instantiate a factory threw a null pointer exception. The creation method is not accessible.
Action: Do not use that message to instantiate a factory.
177: NO_MAPPING_FOR_ATTRIBUTENAME
Cause: Mapping is missing for the attribute.
Action: The attribute must be mapped.
178: NO_MAPPING_FOR_ATTRIBUTENAME_IN_ENTITY_BEAN
Cause: Cannot find mapping for attribute in entity bean.
Action: The attribute must be mapped.
179: UNSUPPORTED_TYPE_FOR_BIDIRECTIONAL_RELATIONSHIP_MAINTENANCE
Cause: The attribute uses bidirectional relationship maintenance, but has ContainerPolicy, which does not support it
Action:

Builder Exceptions (1001 - 1042)

A builder exception is a development exception that is raised when the builder file format for the descriptor is not in a proper state. If OracleAS TopLink is able to determine the source and line number of the descriptor file that caused the exception, the displayed message includes this information as shown in Example C-2. Otherwise, the information does not appear in the error message.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message
INTERNAL EXCEPTION: Message
SOURCE: The source to the descriptor file that caused the error.
LINE NUMBER: The line number that caused the exception to be raised. This is the line number in the descriptor file.

Example C-2 Builder Exception

EXCEPTION [TOPLINK - 1038]: oracle.toplink.tools.builderreader.BuilderException
EXCEPTION DESCRIPTION: No such section token: ABC

Concurrency Exceptions (2001 - 2006)

A concurrency exception is a development exception that is raised when a Java concurrency violation occurs. Only when a running thread is interrupted, causing the Java Virtual Machine (JVM) to throw an InterruptedException, is an internal exception information displayed with the error message as shown in Example C-3.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message
INTERNAL EXCEPTION: Message

Example C-3 Concurrency Exception

EXCEPTION [TOPLINK – 2004]: oracle.toplink.exceptions.ConcurrencyException
EXCEPTION DESCRIPTION: Signal attempted before wait on concurrency manager. 
This normally means that an attempt was made to commit or roll back a transaction before being started, or rolledback twice.

2001: WAIT_WAS_INTERRUPTED
Cause: In a multithreaded environment, one of the waiting threads was interrupted.
Action: Such exceptions are dependent on the application.
2002: WAIT_FAILURE_SERVER
Cause: A request for a connection from the connection pool has been forced to wait, and that wait has been interrupted.
Action: Such exceptions are dependent on the application.
2003: WAIT_FAILURE_CLIENT
Cause: A request for a connection from the connection pool has been forced to wait, and that wait has been interrupted.
Action: Such exceptions are dependent on the application.
2004: SIGNAL_ATTEMPTED_BEFORE_WAIT
Cause: A signal was attempted before a wait on concurrency manager. This usually means that an attempt was made to commit or roll back a transaction before it was started, or to roll back a transaction twice.
Action: Verify transactions in the application.
2005: WAIT_FAILURE_SEQ_DATABASE_SESSION
Cause: An InterruptedException was thrown while DatabaseSession sequencing waited for a separate connection to become available.
Action: Examine concurrency issues involving object creation with your DatabaseSession.
2006: SEQUENCING_MULTITHREAD_THRU_CONNECTION
Cause: Several threads attempted to concurrently obtain sequence objects from the same DatabaseSession or ClientSession.
Action: Avoid concurrent writing through the same DatabaseSession or ClientSession.

Conversion Exceptions (3001 - 3007)

A conversion exception is a development exception that is raised when a conversion error occurs by an incompatible type conversion. The message that is returned indicates which type cast caused the exception, as shown in Example C-4.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message
INTERNAL EXCEPTION: Message

Example C-4 Conversion Exception

EXCEPTION [TOPLINK – 3006]: oracle.toplink.exceptions.ConversionException
EXCEPTION DESCRIPTION: object must be of even length to be converted to a ByteArray

3001: COULD_NOT_BE_CONVERTED
Cause: The object object of class objectClass cannot be converted to javaClass. The object cannot be converted to a given type.
Action: Ensure that the object being converted is of the right type.
3003: INCORRECT_DATE_FORMAT
Cause: The date in dateString is in an incorrect format. The expected format is YYYY-MM-DD.
Action: Verify the date format.
3004: INCORRECT_TIME_FORMAT
Cause: The time in timeString is in an incorrect format. The expected format is HH:MM:SS.
Action: Verify the time format.
3005: INCORRECT_TIMESTAMP_FORMAT
Cause: The timestamp timestampString is in an incorrect format. The expected format is YYYY-MM-DD HH:MM:SS.NNNNNNNNN.
Action: Verify the timestamp format.
3006: COULD_NOT_CONVERT_TO_BYTE_ARRAY
Cause: The string object must be of even length to be converted to a ByteArray. This object cannot be converted to a ByteArray
Action: Verify the object being converted.
3007: COULD_NOT_BE_CONVERTED_TO_CLASS
Cause: The object object of class objectClass cannot be converted to javaClass. The class javaClass is not on the classpath.
Action: Ensure that the class javaClass is on the classpath.

Database Exceptions (4002 - 4018)

A database exception is a runtime exception that is raised when data read from the database, or the data that is to be written to the database, is incorrect. The exception may also act as a wrapper for SQLException. If this is the case, the message contains a reference to the error code and error message, as shown in Example C-5. This exception can occur on any database type operation.

This exception includes internal exception and error code information when the exception is wrapping a SQLException.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message
INTERNAL EXCEPTION: Message
ERROR CODE: Error code

Example C-5 Database Exception

EXCEPTION [TOPLINK – 4002]: oracle.toplink.exceptions.DatabaseExceptions
EXCEPTION DESCRIPTION: java.sql.SQLException: [INTERSOLV][ODBC dBase driver] Incompatible datatypes in expression: >
INTERNAL EXCEPTION: java.sql.SQLException: [INTERSOLV][ODBC dBase driver] Incompatible datatypes in expression: >
ERROR CODE: 3924

4002: SQL_EXCEPTION
Cause: A SQL exception was encountered, thrown by the underlying JDBC bridge. OracleAS TopLink wraps only that exception.
Action: Inspect the internal exception that was thrown.
4003: CONFIGURATION_ERROR_CLASS_NOT_FOUND
Cause: The driver class name was not found.
Action: Verify the class name given in JDBCLogin.
4005: DATABASE_ACCESSOR_NOT_CONNECTED
Cause: The session is not connected to the database while attempting to read or write on the database.
Action: An application may have to log in again because the connection to the database may have been lost.
4006: ERROR_READING_BLOB_DATA
Cause: An error occurred reading BLOB data from the database. There are two possibilities for this exception: either the BLOB data was not read properly from the result set or OracleAS TopLink cannot process the BLOB data using ByteArrayOutputStream.
Action: Verify whether the underlying driver supports BLOBs properly. If it does, then report this problem to Oracle Support Services.
4007: COULD_NOT_CONVERT_OBJECT_TYPE
Cause: Cannot convert object type on internal error.java.sql.TYPES = type. The object from the result set cannot be converted to the type that was returned from the metadata information.
Action: Verify whether the underlying driver supports the conversion type properly. If it does, then report this problem to Oracle Support Services.
4008: LOGOUT_WHILE_TRANSACTION_IN_PROGRESS
Cause: An attempt has been made to log out while the transaction is still in progress. You cannot logout while a transaction is in progress.
Action: Wait until the transaction is finished.
4009: SEQUENCE_TABLE_INFORMATION_NOT_COMPLETE
Cause: The sequence information given to OracleAS TopLink is not sufficiently complete to get the set of sequence numbers from the database. This usually happens during native sequencing on Oracle databases. For more information on sequencing, refer to Chapter 3, "Mapping", Sequencing,.
Action: Verify the data given, especially the sequence name given in OracleAS TopLink.
4011: ERROR_PREALLOCATING_SEQUENCE_NUMBERS
Cause: An error occurred preallocating sequence numbers on the database; the sequence table information is not complete.
Action: Ensure the sequence table was properly created on the database.
4014: CANNOT_REGISTER_SYNCHRONIZATIONLISTENER_FOR_UNITOFWORK
Cause: OracleAS TopLink cannot register the synchronization listener: underlying_exception_string. When the OracleAS TopLink session is configured with an ExternalTransactionController, any Unit of Work requested by a client must operate within the context of a JTS external global transaction. When a Unit of Work is created and the external global transaction is not in existence, or if the system cannot acquire a reference to it, this error is reported.
Action: Verify that a JTS transaction is in progress before acquiring the Unit of Work.
4015: SYNCHRONIZED_UNITOFWORK_DOES_NOT_ SUPPORT_COMMITANDRESUME
Cause: A synchronized UnitOfWork does not support the commitAndResume operation. When the OracleAS TopLink session is configured with an ExternalTransactionController, any Unit of Work requested by a client must operate within the context of a JTS external global transaction (see "4014: CANNOT_REGISTER_SYNCHRONIZATIONLISTENER_FOR_UNITOFWORK"). The JTS specification does not support the concept of checkpointing a transaction—that is, committing the work performed and then continuing to work within the same transaction context. JTS does not support nested transactions, either. Because of this, if a client code invokes commitAndResume() on a synchronized Unit of Work, this error is reported.
Action: None required.
4016: CONFIGURATION_ERROR_NEW_INSTANCE_INSTANTIATION_EXCEPTION
Cause: A configuration error occurred when OracleAS TopLink attempted to instantiate the given driver class. TopLink cannot instantiate the driver.
Action: Check the driver.
4017: CONFIGURATION_ERROR_NEW_INSTANCE_ILLEGAL_ ACCESS_EXCEPTION
Cause: A configuration error occurred when OracleAS TopLink attempted to instantiate the given driver class. TopLink cannot instantiate the driver.
Action: Check the driver.
4018: TRANSACTION_MANAGER_NOT_SET_FOR_JTS_DRIVER
Cause: The transaction manager has not been set for the JTSSynchronizationListener.
Action: Set a transaction manager for the JTSSynchronizationListener.

Optimistic Lock Exceptions (5001 - 5008)

An optimistic lock exception is a run-time exception that is raised when the row on the database that matches the desired object is missing or when the value on the database does not match the registered number. It is used in conjunction with the optimistic locking feature. This applies only on an update or delete operation.

For more information about optimistic locking, see the section on "Optimistic Locking in a Stateless Environment" in Chapter 2, "OracleAS TopLink Architectures", . These exceptions must be handled in a try-catch block.

Format

EXCEPTION [TOPLINK – error code]: Exception Name
EXCEPTION DESCRIPTION: Message

Example C-6 Optimistic Lock Exception

EXCEPTION [TOPLINK – 5003]: oracle.toplink.exceptions.OptimisticLockException
EXCEPTION DESCRIPTION: The object, object.toString() cannot be deleted because it has changed or been deleted since it was last read.

5001: NO_VERSION_NUMBER_WHEN_DELETING
Cause: An attempt was made to delete the object object, but it has no version number in the identity map. This object either was never read or has already been deleted.
Action: Use SQL logging to determine the reason for the exception. The last delete operation shows the object being deleted when the exception was thrown.
5003: OBJECT_CHANGED_SINCE_LAST_READ_WHEN_DELETING
Cause: The object state has changed in the database. The object object cannot be deleted because it has changed or been deleted since it was last read. This usually means that the row in the table was changed by some other application.
Action: Refresh the object, which updates it with the new data from the database.
5004: NO_VERSION_NUMBER_WHEN_UPDATING
Cause: An attempt has been made to update the object object but it has no version number in the identity map. It may not have been read before being updated or has been deleted.
Action: Use SQL logging to determine the reason for the exception. The last update operation shows the object being updated when the exception was thrown.
5006: OBJECT_CHANGED_SINCE_LAST_READ_WHEN_UPDATING
Cause: The object state has changed in the database. The object object cannot be updated because it has changed or been deleted since it was last read. This usually means that the row in the table was changed by some other application.
Action: Refresh the object, which updates it with the new data from the database.
5007: MUST_HAVE_MAPPING_WHEN_IN_OBJECT
Cause: The object aClass must have a nonread-only mapping corresponding to the version lock field. The mapping, which is needed when the lock value is stored in the domain object rather than in a cache, was not defined for the locking field.
Action: Define a mapping for the field.
5008: NEED_TO_MAP_JAVA_SQL_TIMESTAMP
Cause: A write lock value that is stored in a domain object is not an instance of java.sql.Timestamp.
Action: Change the value of the attribute to be an instance of java.sql.Timestamp.

Query Exceptions (6001 - 6105)

A query exception is a development exception that is raised when insufficient information has been provided to the query. If possible, the message indicates the query that caused the exception, as shown in Example C-7. A query is optional and is displayed if OracleAS TopLink is able to determine the query that caused this exception.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message
QUERY:

Example C-7 Query Exception

EXCEPTION [TOPLINK – 6026]: oracle.toplink.exceptions.QueryException
EXCEPTION DESCRIPTION: The query is not defined. When executing a query on the session, the parameter that takes query is null.

6001: ADDITIONAL_SIZE_QUERY_NOT_SPECIFIED
Cause: Cursored SQL queries must provide an additional query to retrieve the size of the result set. Failure to include the additional query causes this exception.
Action: Specify a size query.
6002: AGGREGATE_OBJECT_CANNOT_BE_DELETED
Cause: Aggregated objects cannot be written or deleted independent of their owners. No identity is maintained on such objects.
Action: Do not try to delete aggregate objects directly.
6003: ARGUMENT_SIZE_MISMATCH_IN_QUERY_AND_ QUERY_DEFINITION
Cause: The number of arguments provided to the query for execution does not match the number of arguments provided with the query definition.
Action: Check the query and the query execution.
6004: BACKUP_CLONE_IS_ORIGINAL_FROM_PARENT
Cause: The object clone of class clone.getClass() with identity hash code (System.identityHashCode()) System.identityHashCode(clone) is not from this Unit of Work space but from the parent session. The object was never registered in this Unit of Work but read from the parent session and related to an object registered in the Unit of Work.
Action: Verify that you are correctly registering your objects. If you are still having problems, use the UnitOfWork.validateObjectSpace() method to help debug where the error occurred.
6005: BACKUP_CLONE_IS_ORIGINAL_FROM_SELF
Cause: The object clone of class clone.getClass() with identity hash code (System.identityHashCode()) <System.identityHashCode(clone)> is the original to a registered new object. Because the Unit of Work clones new objects that are registered, ensure that an object is registered before it is reference by another object. If you do not want the new object to be cloned, use the UnitOfWork.registerNewObject(Object) API.
Action: Verify that you are correctly registering your objects. If you are still having problems, use the UnitOfWork.validateObjectSpace() method to help debug where the error occurred.
6006: BATCH_READING_NOT_SUPPORTED
Cause: This mapping does not support batch reading. The optimization of batch reading all the target rows is not supported for the mapping.
Action: The problem is an OracleAS TopLink development problem, and the user should never encounter this error code unless the mapping is a new custom mapping. Contact Oracle Support Services.
6007: DESCRIPTOR_IS_MISSING
Cause: The descriptor for reference Class is missing. The descriptor related to the class or the object is not found in the session.
Action: Verify whether or not the related descriptor was added to the session, and whether or not the query is performed on the right object or class.
6008: DESCRIPTOR_IS_MISSING_FOR_NAMED_QUERY
Cause: The descriptor domain Class Name for the query named queryName is missing. The descriptor where named query is defined is not added to the session.
Action: Verify whether or not the related descriptor was added to the session, and whether or not the query is performed on the right class.
6013: INCORRECT_SIZE_QUERY_FOR_CURSOR_STREAM
Cause: The size query given on the queries returning cursor streams is not correct. The execution of the size query did not return any size.
Action: If the cursor stream query was a custom query, then check the size of the query that was specified, or report this problem to Oracle Support Services.
6014: INVALID_QUERY
Cause: Objects cannot be written in a Unit of Work using modify queries. They must be registered.
Action: Objects are registered in the Unit of Work, and during commit, the Unit of Work performs the required changes to the database.
6015: INVALID_QUERY_KEY_IN_EXPRESSION
Cause: The query key key does not exist. Usually this happens because of a misspelled query key.
Action: Check the query key that was specified in the expression and verify that a query key was added to the descriptor.
6016: INVALID_QUERY_ON_SERVER_SESSION
Cause: Objects and the database cannot be changed through the server session: all changes must be performed through a client session's Unit of Work. The objects cannot be changed on the server session by modifying queries. Objects are changed in the client sessions that are acquired from this server session.
Action: Use the client session's Unit of Work to change the object.
6020: NO_CONCRETE_CLASS_INDICATED
Cause: No concrete class is indicated for the type in this row. The type indicator read from the database row has no entry in the type indicator hash table or if class extraction method was used, it did not return any concrete class type. The exception is thrown when subclasses are being read.
Action: Check the class extraction method, if specified, or check the descriptor to verify all the type indicator values were specified.
6021: NO_CURSOR_SUPPORT
Cause: No cursor support is provided for abstract class multiple table descriptors using expressions.
Action: Consider using custom SQL or multiple queries.
6023: OBJECT_TO_INSERT_IS_EMPTY
Cause: There are no fields to be inserted into the table. The fields to insert into the table, table, are empty.
Action: Define at least one mapping for this table.
6024: OBJECT_TO_MODIFY_NOT_SPECIFIED
Cause: An object to modify is required for a modify query.
Action: Verify that the query contains an object before executing.
6026: QUERY_NOT_DEFINED
Cause: The query is not defined. When executing a query on the session, the parameter that takes the query is null.
Action: Verify that the query is passed properly.
6027: QUERY_SENT_TO_INACTIVE_UNIT_OF_WORK
Cause: The Unit of Work has been released and is now inactive.
Action: The Unit of Work, once released, cannot be reused unless commitAndResume is called.
6028: READ_BEYOND_QUERY
Cause: An attempt has been made to read from the cursor streams beyond its limits (beyond the end of the stream).
Action: Ensure that the stream is checked for an end of stream condition before attempting to retrieve more objects.
6029: REFERENCE_CLASS_MISSING
Cause: The reference class in the query is not specified. A reference class must be provided.
Action: Check the query.
6030: REFRESH_NOT_POSSIBLE_WITHOUT_CACHE
Cause: Refresh is not possible if caching is not set. The read queries that skip the cache to read objects cannot be used to refresh the objects. Refreshing is not possible without identity.
Action: Check the query.
6031: SIZE_ONLY_SUPPORTED_ON_EXPRESSION_QUERIES
Cause: OracleAS TopLink did not find a size query. Size is supported only on expression queries unless a size query is given.
Action: The cursor streams on a custom query should also define a size query.
6032: SQL_STATEMENT_NOT_SET_PROPERLY
Cause: The SQL statement has not been properly set. The user should never encounter this error code unless queries have been customized.
Action: Contact Oracle Support Services.
6034: INVALID_QUERY_ITEM
Cause: OracleAS TopLink is unable to validate a query item expression.
Action: Validate the expression being used.
6041: SELECTION_OBJECT_CANNOT_BE_NULL
Cause: The selection object that was passed to a read object or refresh was null.
Action: Check setSelectionObject() on the read query.
6042: UNNAMED_QUERY_ON_SESSION_BROKER
Cause: Data read and data modify queries are being executed without the session name. Only object-level queries can be directly executed by the session broker, unless the query is named.
Action: Specify the session name.
6043: REPORT_RESULT_WITHOUT_PKS
Cause: ReportQuery without primary keys cannot read the objects. The report query result that was returned is without primary key values. An object from the result can be created only if primary keys were also read.
Action: See the documentation about retrievePrimaryKeys() on report query.
6044: NULL_PRIMARY_KEY_IN_BUILDING_OBJECT
Cause: The primary key that was read from the row databaseRow during the execution of the query was detected to be null; primary keys must not contain null.
Action: Check the query and the table on the database.
6045: NO_DESCRIPTOR_FOR_SUBCLASS
Cause: The subclass has no descriptor defined for it.
Action: Ensure the descriptor was added to the session, or check class extraction method.
6046: CANNOT_DELETE_READ_ONLY_OBJECT
Cause: The class you are attempting to delete is a read-only class.
Action: Contact Oracle Support Services.
6047: INVALID_OPERATOR
Cause: The operator data used in the expression is not valid.
Action: Check ExpressionOperator class to see a list of all the operators that are supported.
6048: ILLEGAL_USE_OF_GETFIELD
Cause: This is an invalid use of getField data in the expression. This is an OracleAS TopLink development exception that users should not encounter.
Action: Report this problem to Oracle Support Services.
6049: ILLEGAL_USE_OF_GETTABLE
Cause: This is an invalid use of getTable data in the expression. This is an OracleAS TopLink development exception that users should not encounter.
Action: Report this problem to Oracle Support Services.
6050: REPORT_QUERY_RESULT_SIZE_MISMATCH
Cause: The number of attributes requested does not match the attributes returned from the database in report query. This can happen as a result of a custom query on the report query.
Action: Check the custom query to ensure it is specified, or report the problem to Oracle Support Services.
6051: CANNOT_CACHE_PARTIAL_OBJECT
Cause: Partial Objects are never put in the cache. Partial object queries are not allowed to maintain the cache or to be edited. Set dontMaintainCache().
Action: Call the dontMaintainCache() method before executing the query.
6052: OUTER_JOIN_ONLY_VALID_FOR_ONE_TO_ONE
Cause: An outer join (getAllowingNull) is valid only for one-to-one mappings and cannot be used for the mapping.
Action: Do not attempt to use getAllowingNull for mappings other than one-to-one.
6054: CANNOT_ADD_TO_CONTAINER
Cause: OracleAS TopLink is unable to add anObject to a containerClass using policy. This is OracleAS TopLink development exception, and the user should never encounter this problem unless a custom container policy has been written.
Action: Contact Oracle Support Services.
6055: METHOD_INVOCATION_FAILED
Cause: The invocation of a method on the object anObject threw a Java reflection exception while accessing the method.
Action: Inspect the internal exception, and see the Java documentation.
6056: CANNOT_CREATE_CLONE
Cause: Cannot create a clone of the object anObject using policy. This is an OracleAS TopLink development exception, and the user should never encounter this problem unless a custom container policy has been written.
Action: Report this problem to Oracle Support Services.
6057: METHOD_NOT_VALID
Cause: The method methodName is not valid to call on the object aReceiver. This is an OracleAS TopLink development exception, and the user should never encounter this problem unless a custom container policy has been written.
Action: Contact Oracle Support Services.
6058: METHOD_DOES_NOT_EXIST_IN_CONTAINER_CLASS
Cause: The method named methodName was not found in class aClass. This is thrown when looking for a clone method on the container class. The clone is needed to create clones of the container in Unit of Work.
Action: Define a clone method on the container class.
6059: COULD_NOT_INSTANTIATE_CONTAINER_CLASS
Cause: The class aClass cannot be used as the container for the results of a query because it cannot be instantiated. The exception is a Java exception thrown when a new interface container policy is being created using Java reflection. OracleAS TopLink wraps only the Java exception.
Action: Inspect the internal exception, and see the Java documentation.
6060: MAP_KEY_NOT_COMPARABLE
Cause: Cannot use the object anObject of type objectClass as a key into aContainer which is of type containerClass. The key cannot be compared with the keys currently in the map. This throws a Java reflection exception while accessing the method. OracleAS TopLink wraps only the Java exception.
Action: Inspect the internal exception, and see the Java documentation.
6061: CANNOT_ACCESS_METHOD_ON_OBJECT
Cause: Cannot reflectively access the method aMethod for object: anObject of type anObjectClass. This throws a Java reflection exception while accessing the method. OracleAS TopLink wraps only the Java exception.
Action: Inspect the internal exception, and see the Java documentation.
6062: CALLED_METHOD_THREW_EXCEPTION
Cause: The method aMethod was called reflectively on objectClass and threw an exception. Throws a Java reflection exception while accessing a method. OracleAS TopLink wraps only the Java exception.
Action: Inspect the internal exception, and see the Java documentation.
6063: INVALID_OPERATION
Cause: This is an invalid operation operation on the cursor. The operation is not supported.
Action: Check the class documentation and look for the corresponding method to use.
6064: CANNOT_REMOVE_FROM_CONTAINER
Cause: Cannot remove anObject of type anObjectClass from aContainerClass using policy. This is an OracleAS TopLink development exception and, the user should never encounter this problem unless a custom container policy has been written.
Action: Contact Oracle Support Services.
6065: CANNOT_ADD_ELEMENT
Cause: Cannot add an element to the collection container policy (cannot add anObject of type anObjectClass to a aContainerClass).
Action: Inspect the internal exception, and see the Java documentation.
6066: BACKUP_CLONE_DELETED
Cause: Deleted objects cannot have references after being deleted. The object clone of class clone.getClass() with identity hash code (System.identityHashCode()) System.identityHashCode(clone) has been deleted, but it still has references.
Action: Ensure that you are correctly registering your objects. If you are still having problems, use the UnitOfWork.validateObjectSpace() method to help identify where the error occurred.
6068: CANNOT_COMPARE_TABLES_IN_EXPRESSION
Cause: Cannot compare table reference to data in expression.
Action: Check the expression.
6069: INVALID_TABLE_FOR_FIELD_IN_EXPRESSION
Cause: Field has invalid table in this context for field data in expression.
Action: Check the expression.
6070: INVALID_USE_OF_TO_MANY_QUERY_KEY_IN_EXPRESSION
Cause: This is an invalid use of a query key representing a one-to-many relationship data in expression.
Action: Use the anyOf operator instead of the get operator.
6071: INVALID_USE_OF_ANY_OF_IN_EXPRESSION
Cause: This is an invalid use of anyOf for a query key not representing a to-many relationship data in expression.
Action: Use the get operator instead of the anyOf operator.
6072: CANNOT_QUERY_ACROSS_VARIABLE_ONE_TO_ONE_MAPPING
Cause: Querying across a variable one-to-one mapping is not supported.
Action: Change the expression such that the query is not performed across a variable one-to-one mapping.
6073: ILL_FORMED_EXPRESSION
Cause: This is an ill-formed expression in query, attempting to print an object reference into a SQL statement for queryKey.
Action: Contact Oracle Support Services.
6074: CANNOT_CONFORM_EXPRESSION
Cause: This expression cannot determine if the object conforms in memory. Set the query to check the database.
Action: Change the query such that it does not attempt to conform to the results of the query.
6075: INVALID_OPERATOR_FOR_OBJECT_EXPRESSION
Cause: Object comparisons can use only the equal or notEqual operators, other comparisons must be performed through query keys or direct attribute level comparisons.
Action: Ensure the query uses only equal and notEqual if object comparisons are being used.
6076: UNSUPPORTED_MAPPING_FOR_OBJECT_COMPARISON
Cause: Object comparisons can be used only with one-to-one mappings; other mapping comparisons must be performed through query keys or direct attribute level comparisons.
Action: Use a query key instead of attempting to compare objects across the mapping.
6077: OBJECT_COMPARISON_CANNOT_BE_PARAMETERIZED
Cause: Object comparisons cannot be used in parameter queries.
Action: Change the query so that it does not attempt to use objects when using parameterized queries.
6078: INCORRECT_CLASS_FOR_OBJECT_COMPARISON
Cause: The class of the argument for the object comparison is incorrect.
Action: Ensure the class for the query is correct.
6079: CANNOT_COMPARE_TARGET_FOREIGN_KEYS_ TO_NULL
Cause: Object comparison cannot be used for target foreign key relationships.
Action: Query on source primary key.
6080: INVALID_DATABASE_CALL
Cause: This is an invalid database call. The call must be an instance of DatabaseCall: call.
Action: Ensure the call being used is a DatabaseCall.
6081: INVALID_DATABASE_ACCESSOR
Cause: Invalid database accessor. The accessor must be an instance of DatabaseAccessor: accessor.
Action: Ensure the accessor being used is a DatabaseAccessor.
6082: METHOD_DOES_NOT_EXIST_ON_EXPRESSION
Cause: The method methodName with argument type argTypes cannot be invoked on expression.
Action: Ensure the method being used is a supported method.
6083: IN_CANNOT_BE_PARAMETERIZED
Cause: Queries using IN cannot be parameterized.
Action: Disable the query prepare or binding.
6084: REDIRECTION_CLASS_OR_METHOD_NOT_SET
Cause: The redirection query was not configured properly, the class or method name was not set.
Action: Verify the configuration for the redirection class.
6085: REDIRECTION_METHOD_NOT_DEFINED_CORRECTLY
Cause: The redirection query's method is not defined or it defines with the wrong arguments. It must be public static and have the following arguments: DatabaseQuery, DatabaseRow, or Session (the interface).
Action: Check the redirection query's method.
6086: REDIRECTION_METHOD_ERROR
Cause: The static invoke method provided to MethodBaseQueryRedirector threw an exception when invoked.
Action: Check the static invoke method for problems.
6087: EXAMPLE_AND_REFERENCE_OBJECT_CLASS_MISMATCH
Cause: There is a class mismatch between the example object and the reference class specified for this query.
Action: Ensure that the example and reference classes are compatible.
6088: NO_ATTRIBUTES_FOR _REPORT_QUERY
Cause: A ReportQuery has been built with no attributes specified.
Action: Specify the attribute for the query.
6089: NO_EXPRESSION_BUILDER_CLASS_FOUND
Cause: The expression has not been initialized correctly. Only a single ExpressionBuilder should be used for a query. For a parallel expressions, the query class must be provided to the ExpressionBuilder constructor, and the query's ExpressionBuilder must always be on the left side of the expression.
Action: Contact Oracle Support Services.
6090: CANNOT_SET_REPORT_QUERY_TO_CHECK_CACHE_ONLY
Cause: The checkCacheOnly method was invoked on a ReportQuery. You cannot invoke the checkCacheOnly method on a ReportQuery because a ReportQuery returns data rather than objects and the OracleAS TopLink cache is built with objects.
Action: Do not use a ReportQuery in this case.
6091: TYPE_MISMATCH_BETWEEN_ATTRIBUTE_AND_CONSTANT_ON_EXPRESSION
Cause: The type of the constant used for comparison in the expression does not match the type of the attribute.
Action: Contact Oracle Support Services.
6092: MUST_INSTANTIATE_VALUEHOLDERS
Cause: Uninstantiated value holders have been detected.
Action: Instantiate the value holders for the collection on which you want to query.
6093: MUST_BE_ONE_TO_ONE_OR_ONE_TO_MANY_MAPPING
Cause: The buildSelectionCriteria method was invoked on a mapping that was neither one-to-one nor one-to-many. Only the one-to-one and one-to-many mapping exposes this public API to build selection criteria. Using the buildSelectionCriteria method with other mapping types will not return correct results.
Action: Use the buildSelectionCriteria method only with one-to-one and one-to-many mappings.
6094: PARAMETER_NAME_MISMATCH
Cause: An unmapped field was used in a parameterized expression.
Action: Map the field or define an alternate expression that does not rely on the unmapped field.
6095: CLONE_METHOD_REQUIRED
Cause: A delegate class of an IndirectContainer implementation does not implement Cloneable. If you implement IndirectContainer you must also implement Cloneable. For example, see oracle.toplink.indirection.IndirectSet. The clone method must clone the delegate. For example, the IndirectSet implementation uses reflection to invoke the clone method because it is not included in the common interface shared by IndirectSet and its base delegate class, HashSet.
Action: Ensure that your IndirectContainer implementation or its delegate class implements Cloneable.
6096: CLONE_METHOD_INACCESSIBLE
Cause: A delegate class of an IndirectContainer implementation implements Cloneable but the IndirectContainer implementation does not have access to the specified clone method. That is, a java.lang.IllegalAccessException was thrown when the delegate's clone method was invoked.
Action: Ensure that both the delegate clone method and the delegate class are public. Ensure permission is set for Java reflection in your VM security settings. See also java.lang.reflect.Method.invoke().
6097: CLONE_METHOD_THORW_EXCEPTION
Cause: A delegate class of an IndirectContainer implementation implements Cloneable and the IndirectContainer implementation has access to the specified clone method, but the specified clone method throws a java.lang.reflect.InvocationTargetException when invoked.
Action: Verify the implementation of the delegate's clone method.
6098: UNEXPECTED_INVOCATION
Cause: A proxy object method throws an unexpected exception when invoked (that is, some exception other than InvocationTargetException and ValidationException).
Action: Review the proxy object to see where it is throwing the exception described in the exception message. Ensure this exception is no longer thrown.
6105: MUST_USE_CURSOR_STREAM_POLICY
Cause: Query must be re-initialized with a cursor stream policy.
Action: Re-initialize the query with a cursor stream policy.

Validation Exceptions (7001 - 7108)

A validation exception is a development exception that is raised when an incorrect state is detected or an API is used incorrectly.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-8 Validation Exception

EXCEPTION [TOPLINK – 7008]: oracle.toplink.exceptions.ValidationException
EXCEPTION DESCRIPTION: The Java type javaClass is not a valid database type. The Java type of the field to be written to the database has no corresponding type on the database.

7001: LOGIN_BEFORE_ALLOCATING_CLIENT_SESSIONS
Cause: You attempted to allocate client sessions before logging into the server.
Action: Ensure you have called login() on your server session or database session. This error also appears in multithreaded environments as a result of concurrency issues. Check that all your threads are synchronized.
7002: POOL_NAME_DOES_NOT_EXIST
Cause: The pool name used while acquiring client session from the server session does not exist.
Action: Verify the pool name given while acquiring client session and all the existing pools on the server session.
7003: MAX_SIZE_LESS_THAN_MIN_SIZE
Cause: The maximum number of connections in a connection pool should be more than the minimum number of connections.
Action: Check addConnectionPool(String poolName, JDBCLogin login, int minNumberOfConnections, int maxNumberOfConnections) on the server session.
7004: POOLS_MUST_BE_CONFIGURED_BEFORE_LOGIN
Cause: Pools must all be added before login on the server session has been done. Once logged in, you cannot add pools.
Action: Check addConnectionPool(String poolName, JDBCLogin login, int minNumberOfConnections, int maxNumberOfConnections) on server session. This method should be called before logging in on the server session.
7008: JAVA_TYPE_IS_NOT_A_VALID_DATABASE_TYPE
Cause: The Java type javaClass is not a valid database type. The Java type of the field to be written to the database has no corresponding type on the database.
Action: Check the table or stored procedure definition.
7009: MISSING_DESCRIPTOR
Cause: The descriptor className is not found in the session.
Action: Ensure that the related descriptor to the class was properly registered with the session.
7010: START_INDEX_OUT_OF_RANGE
Cause: This is an OracleAS TopLink development exception and users should never encounter this problem. It happens when a copy of a Vector is created with a start and end index.
Action: Report this problem to Oracle Support Services.
7011: STOP_INDEX_OUT_OF_RANGE
Cause: This is an OracleAS TopLink development exception and users should never encounter this problem. It happens when a copy of a Vector is created with a start and end index.
Action: Report this problem to Oracle Support Services.
7012: FATAL_ERROR_OCCURRED
Cause: This is an OracleAS TopLink development exception and users should never encounter this problem. It happens when test cases are executed.
Action: Report this problem to Oracle Support Services. This error commonly occurs if you attempt to commit() an invalid (or previously committed) UnitOfWork.

If ValidationException.cannotCommitUOWAgain() appears in the stack trace, verify that call commit() on valid UnitOfWork instances.

7013: NO_PROPERTIES_FILE_FOUND
Cause: The toplink.properties file cannot be found on the system classpath.
Action: Ensure that there is a toplink.properties file located on the system classpath.
7017: CHILD_DESCRIPTORS_DO_NOT_HAVE_IDENTITY_MAP
Cause: An identity map is added to the child descriptor. A child descriptor shares its parent's identity map.
Action: Check the child descriptor and remove the identity map from it.
7018: FILE_ERROR
Cause: The user should never encounter this problem. It happens when test cases are executed.
Action: Contact Oracle Support Services.
7023: INCORRECT_LOGIN_INSTANCE_PROVIDED
Cause: The login instance provided to the login() method is incorrect. A JDBCLogin must be provided.
Action: Use a JDBCLogin.
7024: INVALID_MERGE_POLICY
Cause: This is an OracleAS TopLink development exception and users should never encounter it.
Action: Contact Oracle Support Services.
7025: ONLY_FIELDS_ARE_VALID_KEYS_FOR_ DATABASE_ROWS
Cause: The key on the database row is not either of type String or of type DatabaseField.
Action: Contact Oracle Support Services.
7027: SEQUENCE_SETUP_INCORRECTLY
Cause: The sequence sequenceName is setup incorrectly, increment does not match pre-allocation size.
Action: Contact Oracle Support Services.
7030: CANNOT_SET_READ_POOL_SIZE_AFTER_LOGIN
Cause: OracleAS TopLink is unable to set read pool size after the server session has already been logged in.
Action: The size should be set before login.
7031: CANNOT_ADD_DESCRIPTORS_TO_SESSION_BROKER
Cause: OracleAS TopLink cannot add descriptors to a session broker.
Action: Descriptors are added to the sessions contained in the session broker.
7032: NO_SESSION_REGISTERED_FOR_CLASS
Cause: The descriptor related to the domain class domainClass was not found in any of the sessions registered in the session broker.
Action: Check the sessions.
7033: NO_SESSION_REGISTERED_FOR_NAME
Cause: The session with the given name sessionName is not registered in the session broker.
Action: Check the session broker.
7038: LOG_IO_ERROR
Cause: Error while logging message to session's log.
Action: Check the internal exception.
7039: CANNOT_REMOVE_FROM_READ_ONLY_CLASSES_ IN_NESTED_UNIT_OF_WORK
Cause: OracleAS TopLink is unable to remove from the set of read-only classes in a nested Unit of Work. A nested Unit of Work's set of read-only classes must be equal to or a superset of its parent's set of read-only classes.
Action: Contact Oracle Support Services.
7040: CANNOT_MODIFY_READ_ONLY_CLASSES_SET_ AFTER_USING_UNIT_OF_WORK
Cause: OracleAS TopLink is unable to change the set of read-only classes in a Unit of Work after that Unit of Work has been used. Changes to the read-only set must be made when acquiring the Unit of Work or immediately after.
Action: Contact Oracle Support Services.
7042: PLATFORM_CLASS_NOT_FOUND
Cause: The platform class className was not found and a reflection exception was thrown.
Action: Check the internal exception.
7043: NO_TABLES_TO_CREATE
Cause: A project does not have any tables to create on the database.
Action: Validate the project and tables you are attempting to create.
7044: ILLEGAL_CONTAINER_CLASS
Cause: The container class specified className cannot be used as the container because it does not implement the Collection or Map interfaces.
Action: Implement either the Collection or Map interfaces in the container class.
7047: CONTAINER_POLICY_DOES_NOT_USE_KEYS
Cause: Invalid Map class was specified for the container policy. The container specified (of class aPolicyContainerClass) does not require keys. You tried to use methodName.
Action: Use map class that implements the Map interface.
7048: METHOD_NOT_DECLARED_IN_ITEM_CLASS
Cause: The key method on the map container policy is not defined. The instance method <methodName> does not exist in the reference class <className> and therefore cannot be used to create a key in a map. A map container policy represents how to handle an indexed collection of objects. Usually the key is the primary key of the objects stored, so the policy needs to know the name of the primary key get method, to extract it from each object using reflection. For instance a user might call policy.setKeyMethodName("getId").
Action: Check the second parameter of your DatabaseQuery.useMapClass() call.
7051: MISSING_MAPPING
Cause: Missing the attribute attributeName for descriptor descriptor called from source. This is an OracleAS TopLink development exception and a user should never encounter it.
Action: Contact Oracle Support Services.
7052: ILLEGAL_USE_OF_MAP_IN_DIRECTCOLLECTION
Cause: The method useMapClass was called on a DirectCollectionMapping. It is invalid to call useMapClass() on a DirectCollectionMapping. OracleAS TopLink cannot instantiate Java attributes mapped using a DirectCollectionMapping with a Map. The useMapClass() API is supported for OneToManyMappings and ManyToManyMappings. The Java 2 Collection interface is supported using the useCollectionClass() method.
Action: Use the useCollectionClass() API. Do not call useMapClass() on DirectCollectionMapping.
7053: CANNOT_RELEASE_NON_CLIENTSESSION
Cause: OracleAS TopLink is unable to release a session that is not a client session. Only client sessions can be released.
Action: Modify the code to ensure the client session is not released.
7054: CANNOT_ACQUIRE_CLIENTSESSION_FROM_SESSION
Cause: OracleAS TopLink is unable to acquire a session that is not a client session. Client sessions can be acquired only from server sessions.
Action: Modify the code to ensure an acquire session operation is attempted only from server sessions.
7055: OPTIMISTIC_LOCKING_NOT_SUPPORTED
Cause: Optimistic locking is not supported with stored procedure generation.
Action: Do not use OptimisticLocking with stored procedure generation.
7056: WRONG_OBJECT_REGISTERED
Cause: The wrong object was registered into the Unit of Work. It should be the object from the parent cache.
Action: Ensure that the object is from the parent cache.
7058: INVALID_CONNECTOR
Cause: The connector selected is invalid and must be of type DefaultConnector.
Action: Ensure that the connector is of type DefaultConnector.
7059: INVALID_DATA_SOURCE_NAME
Cause: Invalid data source name name.
Action: Verify the data source name.
7060: CANNOT_ACQUIRE_DATA_SOURCE
Cause: OracleAS TopLink is unable to acquire the data source name or an error has occurred in setting up the data source.
Action: Verify the data source name. Check the nested SQL exception to determine the cause of the error. Typical problems include:
  • The connection pool was not configured in your config.xml file.

  • The driver is not on the classpath.

  • The user or password is incorrect.

  • The database server URL or driver name is not properly specified.

7061: JTS_EXCEPTION_RAISED
Cause: An exception occurred within the Java Transaction Service (JTS).
Action: Examine the JTS exception and see the JTS documentation.
7062: FIELD_LEVEL_LOCKING_NOTSUPPORTED_ OUTSIDE_A_UNIT_OF_WORK
Cause: FieldLevelLocking is not supported outside a Unit of Work. In order to use field level locking, a Unit of Work must be used for ALL write operations.
Action: Use a Unit of Work for writing.
7063: EJB_CONTAINER_EXCEPTION_RAISED
Cause: An exception occurred within the EJB container.
Action: Examine the EJB exception and see the JTS documentation.
7064: EJB_PRIMARY_KEY_REFLECTION_EXCEPTION
Cause: An exception occurred in the reflective EJB bean primary key extraction.
Action: Ensure that your primary key object is defined correctly.
7065: EJB_CANNOT_LOAD_REMOTE_CLASS
Cause: The remote class for the bean cannot be loaded or found, for the bean.
Action: Ensure that the correct class loader is set correctly.
7066: EJB_MUST_BE_IN_TRANSACTION
Cause: OracleAS TopLink is unable to create or remove beans unless a JTS transaction is present, bean=bean.
Action: Ensure that the JTS transaction is present.
7068: EJB_INVALID_PROJECT_CLASS
Cause: The platform class platformName was not found for the projectName using default class loader.
Action: Validate the project and platform.
7069: PROJECT_AMENDMENT_EXCEPTION_OCCURED
Cause: An exception occurred while looking up or invoking the project amendment method, amendmentMethod on the class amendmentClass.
Action: Validate the amendment method and class.
7070: EJB_TOPLINK_PROPERTIES_NOT_FOUND
Cause: A toplink.properties resource bundle must be located on the classpath in an OracleAS TopLink directory.
Action: Validate the classpath and the location of the OracleAS TopLink resource bundle.
7071: CANT_HAVE_UNBOUND_IN_OUTPUT_ARGUMENTS
Cause: You cannot use input output parameters without using binding.
Action: Use binding on the StoredProcedureCall.
7072: EJB_INVALID_PLATFORM_CLASS
Cause: SessionManager failed to load the class identified by the value associated with properties platform-class or external-transaction-controller-class during initialization when it loads the OracleAS TopLink session common properties from the OracleAS TopLink global properties file (sessions.xml for non-EJB applications or toplink-ejb-jar.xml for EJB applications).
Action: Ensure that your OracleAS TopLink global properties file is correctly configured. Pay particular attention to the platform-class and external-transaction-controller-class properties.
7073: ORACLE_OBJECT_TYPE_NOT_DEFINED
Cause: The Oracle object type with type name typeName is not defined.
Action: Ensure that the Oracle object type is defined.
7074: ORACLE_OBJECT_TYPE_NAME_NOT_DEFINED
Cause: The Oracle object type typeName is not defined.
Action: Ensure that the Oracle object type is defined.
7075: ORACLE_VARRAY_MAXIMIM_SIZE_NOT_DEFINED
Cause: The Oracle VARRAY type typeName maximum size is not defined.
Action: Verify the maximum size for the Oracle VARRAY.
7076: DESCRIPTOR_MUST_NOT_BE_INITIALIZED
Cause: When generating the project class the descriptors must not be initialized.
Action: Ensure that the descriptors are not initialized before generating the project class.
7077: EJB_INVALID_FINDER_ON_HOME
Cause: The Home interface homeClassName.toString() specified during creation of BMPWrapperPolicy does not contain a correct findByPrimaryKey method. A findByPrimaryKey method must exist that takes the PrimaryKey class for this bean.
Action: Ensure that a FindByPrimaryKey method exists and is correct.
7078: EJB_NO_SUCH_SESSION_SPECIFIED_IN_PROPERTIES
Cause: The sessionName specified on the deployment descriptor does not match any session specified in the toplink.properties file.
Action: Contact Oracle Support Services.
7079: EJB_DESCRIPTOR_NOT_FOUND_IN_SESSION
Cause: The descriptor was not found in the session.
Action: Check the project being used for this session.
7080: EJB_FINDER_EXCEPTION
Cause: A FinderException was thrown when attempting to load an object from the class with the primary key.
Action: Contact Oracle Support Services.
7081: CANNOT_REGISTER_AGGREGATE_OBJECT_IN_ UNIT_OF_ WORK
Cause: The aggregate object cannot be directly registered in the Unit of Work. It must be associated with the source (owner) object.
Action: Contact Oracle Support Services.
7082: MULTIPLE_PROJECTS_SPECIFIED_IN_PROPERTIES
Cause: The toplink.properties file specified multiple project files for the server. Only one project file can be specified.
Action: Specify either projectClass, projectFile, or xmlProjectFile.
7083: NO_PROJECT_SPECIFIED_IN_PROPERTIES
Cause: The toplink.properties file does not include any information on the OracleAS TopLink project to use for the server. One project file must be specified.
Action: Specify either projectClass, projectFile, or xmlProjectFile.
7084: INVALID_FILE_TYPE
Cause: The specified file is not a valid type for reading. ProjectReader must be given the deployed XML project file.
Action: Contact Oracle Support Services.
7085: SUB_SESSION_NOT_DEFINED_FOR_BROKER
Cause: Unable to create an instance of the external transaction controller specified in the properties file.
Action: Contact Oracle Support Services.
7086: EJB_INVALID_SESSION_TYPE_CLASS
Cause: The session manager cannot load the class corresponding to the session's type class name.
Action: Ensure that the class name of the session's type is fully qualified in the sessions.xml file or toplink.properties file.
7087: EJB_SESSION_TYPE_CLASS_NOT_FOUND
Cause: The session manager cannot load the class corresponding to the session's type class name.
Action: Ensure that the class name of the session's type is fully qualified in the sessions.xml file or toplink.properties file.
7088: CANNOT_CREATE_EXTERNAL_TRANSACTION_ CONTROLLER
Cause: The session manager cannot load the class corresponding to the external transaction controller's class name.
Action: Ensure that the class name of the external transaction controller is valid and fully qualified in the sessions.xml file or toplink.properties file.
7089: SESSION_AMENDMENT_EXCEPTION_OCCURED
Cause: The session manager cannot load the class corresponding to the amendment class name or it cannot load the method on the amendment class corresponding to the amendment method name.
Action: Ensure that the class name of the amendment class is fully qualified and the amendment method exists in the amendment class in the sessions.xml file or toplink.properties file.
7091: SET_LISTENER_CLASSES_EXCEPTION
Cause: OracleAS TopLink is unable to create the listener class that implements SessionEventListener for the internal use of SessionXMLProject.
Action: Contact Oracle Support Services.
7092: EXISTING_QUERY_TYPE_CONFLICT
Cause: OracleAS TopLink has detected a conflict between a custom query with the same name and arguments to a session.
Action: Ensure that no query is added to the session more than once or change the query name so that the query can be distinguished from others.
7093: QUERY_ARGUMENT_TYPE_NOT_FOUND
Cause: OracleAS TopLink is unable to create an instance of the query argument type.
Action: Ensure that the argument type is a fully qualified class name and the argument class is included in the classpath environment.
7094: ERROR_IN_SESSIONS_XML
Cause: The sessions.xml or toplink.properties files cannot be loaded.
Action: Ensure that the path to either of the files exist on the classpath environment.
7095: NO_SESSIONS_XML_FOUND
Cause: The sessions.xml or toplink.properties files cannot be loaded.
Action: Ensure that the path to either of the files exist on the classpath environment.
7096: CANNOT_COMMIT_UOW_AGAIN
Cause: OracleAS TopLink cannot invoke commit() on an inactive Unit of Work that was committed or released.
Action: Ensure you invoke commit() on a new Unit of Work or invoke commitAndResume() so that the Unit of Work can be reused. For more information about the commitAndResume() method, see the Oracle Application Server TopLink API Reference.
7097: OPERATION_NOT_SUPPORTED
Cause: OracleAS TopLink cannot invoke a nonsupport operation on an object.
Action: Do not use the operation indicated in the stack trace.
7099: PROJECT_XML_NOT_FOUND
Cause: The file name specified for the XML-based project is incorrect.
Action: Verify the name and location of the file.
7101: NO_TOPLINK_EJB_JAR_XML_FOUND
Cause: The toplink-ejb-jar.xml file was not found.
Action: Ensure that the file is on your classpath.
7102: NULL_CACHE_KEY_FOUND_ON_REMOVAL
Cause: Encountered a null value for a cache key while attempting to remove an object from the identity map. The most likely cause of this situation is that the object has already been garbage-collected and therefore does not exist within the identity map.
Action: Ignore. The Session.removeFromIdentityMap method is intended to allow garbage collection, which has already been done.
7103: NULL_UNDERLYING_VALUEHOLDER_VALUE
Cause: A null reference was encountered while attempting to invoke a method on an object that uses proxy indirection.
Action: Please check that this object is not null before invoking its methods.
7104: INVALID_SEQUENCING_LOGIN
Cause: A separate connection for sequencing was requested but sequencing login uses external transaction controller.
Action: Either provide a sequencing login that does not use an external transaction controller or do not use separate connection for sequencing.

EJB QL Exception

An EJB QL exception is a runtime exception raised when the EJB QL string does not parse properly, or the contents are not resolvable within the context of the OracleAS TopLink session. The associated message typically includes a reference to the EJB QL string that caused the problem.

Error Codes 8001 – 8010

Error Code: 8001

recognitionException
Cause: The OracleAS TopLink EJB QL parser does not recognize a clause in the EJB QL string.
Action: Validate the EJB QL string.

Error Code: 8002

generalParsingException
Cause: OracleAS TopLink has encountered a problem while parsing the EJB QL string.
Action: Check the internal exception for details on the root cause of this exception.

Error Code: 8003

classNotFoundException
Cause: The class specified in the EJB QL string was not found.
Action: Ensure that the class is on the appropriate classpath.

Error Code: 8004

aliasResolutionException
Cause: OracleAS TopLink was unable to resolve the alias used in the EJB QL string.
Action: Validate the identifiers used in the EJB QL string.

Error Code: 8005

resolutionClassNotFoundException
Cause: OracleAS TopLink was unable to resolve the class for an alias. This means that the class specified cannot be found.
Action: Ensure that the class is specified properly and is on the classpath.

Error Code: 8006

missingDescriptorException
Cause: The class specified in the query has no OracleAS TopLink descriptor.
Action: Ensure that the class has been mapped and is specified correctly in the EJB QL string.

Error Code: 8009

expressionNotSupported
Cause: An unsupported expression was used in the EJB QL.
Action: Change the query to use only supported expressions.

Error Code: 8010

generalParsingException
Cause: OracleAS TopLink has encountered a problem while parsing the EJB QL string.
Action: Check the internal exception for details on the root cause of this exception.

Session Loader Exception (9000 - 9009)

A session loader exception is a runtime exception thrown if the Session Manager encounters a problem loading session information from a sessions.xml (for non-EJB applications) or toplink-ejb-jar.xml (for EJB applications) properties file.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-9 Session Loader Exception

EXCEPTION [TOPLINK – 9004]: oracle.toplink.exceptions.SessionLoaderException
EXCEPTION DESCRIPTION: The <project-xml> file MyProject was not found on the classpath, nor on the filesystem.

Error Codes 9000 - 9009

9000: FINAL_EXCEPTION
Cause: The session loader caught one or more XML parsing exceptions while loading session information. The specific XML exceptions follow.
Action: Verify your session configuration XML file.
9001: UNKNOWN_TAG
Cause: An unknown tag was encountered in the specified XML node.
Action: Examine the specified XML node in your session configuration XML file. Ensure that you use only the tags defined for that node in the appropriate OracleAS TopLink DTD. See <ORACLE_HOME>/toplink/config/dtds.
9002: UNABLE_TO_LOAD_PROJECT_CLASS
Cause: The specified class loader could not load a class with the name given by the project-name property.
Action: Verify the value of the project-name property and if correct, ensure that a class with that name is in your classpath.
9003: UNABLE_TO_PROCESS_TAG
Cause: The session loader caught an exception while either parsing the value of the specified tag or calling the set-method associated with the specified tag.
Action: Verify the value shown for the specified tag.
9004: COULD_NOT_FIND_PROJECT_XML
Cause: The session loader could not find the file identified by the project-xml tag on either the classpath or the filesystem.
Action: Verify the value of the project-xml tag and if correct, ensure that a project XML file with that name exists in your classpath or filesystem.
9005: FAILED_TO_LOAD_PROJECT_XML
Cause: The session loader caught an exception while trying to load the file identified by the project-xml tag either because the file could not be found or because the file could not be parsed.
Action: Verify the configuration of the project XML file and ensure that a project XML file with that name specified by the project-xml tag exists in your classpath or filesystem.
9006: UNABLE_TO_PARSE_XML
Cause: The session loader caught a Simple API for XML (SAX) exception while trying to parse the XML at the given line and column of the specified XML file. OracleAS TopLink supports only UTF-8 encoding. The TopLink SAXParseException occurs if you attempt to read a non-UTF-8 formatted XML file.
Action: Verify that the XML is correctly formatted at the given line and column. Alternatively, ensure the Oracle parser is in your classpath and that it appears before any other XML parser.
9007: NON_PARSE_EXCEPTION
Cause: The session loader caught an exception unrelated to XML parsing (for example, a premature end-of-file exception) while trying to parse the specified XML file.
Action: Verify the integrity of the XML file.
9008: UN_EXPECTED_VALUE_OF_TAG
Cause: The value of an XML tag does not correspond to any known OracleAS TopLink required values.
Action: Please verify the list of values for this tag.
9009: UNKNOWN_ATTRIBUTE_OF_TAG
Cause: Incorrect name value pair when processing transport properties for the RCM tag.
Action: Please verify that the all properties have both the name and the value filled in, in the session configuration XML.

EJB Exception Factory

An EJB Exception Factory Exception is a runtime exception thrown if a BeanManager specific to a given application server encounters a problem during any stage of an EJB's life cycle.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-10 EJB Exception Factory Exception

EXCEPTION [TOPLINK – 10008]: javax.ejb.CreateException
EXCEPTION DESCRIPTION: Cannot find bean.

Error Codes 10001 - 10048

Error Code: 10001

CREATE_EXCEPTION
Cause: The PersistenceManager for the given application server failed to create an EJB (for example, a problem was encountered during the create, such as a NullPointerException).
Action: Check the exception contained in the CreateException for additional information.

Error Code: 10002

REMOVE_EXCEPTION
Cause: The PersistenceManager for the given application server failed to remove an EJB (for example, a problem was encountered during the remove, such as a NullPointerException).
Action: Check the exception contained in the RemoveException for additional information.

Error Code: 10003

EJB_EXCEPTION
Cause: An internal, unexpected Exception was thrown.
Action: See the Exception message provided.

Error Code: 10004

FINDER_EXCEPTION1
Cause: Unexpected exception encountered while executing finder.
Action: See the Exception message provided.

Error Code: 10005

FINDER_EXCEPTION2
Cause: Unexpected exception encountered while executing finder.
Action: See the Exception message provided.

Error Code: 10007

DUPLICATE_KEY_EXCEPTION
Cause: The PersistenceManager for a given application server failed to create an EJB, because an EJB with the given primary key already exists.
Action: Verify the application logic to ensure the primary key is unique.

Error Code: 10008

OBJECT_NOT_FOUND_EXCEPTION
Cause: A scalar finder (one that returns a single object) was invoked on a home interface, and returned null.
Action: Verify the application logic to ensure the desired EJB exists.

Error Code: 10009

OBJECT_NOT_FOUND_PKEY_EXCEPTION
Cause: A find using the primary key indicated, returned null.
Action: Verify the application logic to ensure the desired EJB exists.

Error Code: 10010

CANNOT_CREATE_READ_ONLY
Cause: An attempt was made to create an entity marked as read-only using session().getProject().setDefaultReadOnlyClasses(aVector). You cannot create a read-only entity.
Action: Read-only entities should be read from the database (not created by the home interface). Adjust the application to read the required entities beforehand.

Error Code: 10011

CANNOT_REMOVE_READ_ONLY
Cause: An attempt was made to delete an entity marked as read-only using session().getProject().setDefaultReadOnlyClasses(aVector). You cannot delete a read-only entity.
Action: Determine whether the object should be read-only or not. If it should, do not try to remove it.

Error Code: 10014

ERROR_IN_NON_TX_COMMIT
Cause: The PersistenceManager for a given application server failed to end a local transaction (made up of a non-synchronized, non-JTA UnitOfWork) after a remove, create, business method, or home method invocation.
Action: See the Exception message provided.

Error Code: 10021

ERROR_ASSIGNING_SEQUENCES
Cause: The PersistenceManager for a given application server, whose shouldAssignSequenceNumbers method returns true, failed to assign a sequence number to an entity.
Action: See the Exception message provided.

Error Code: 10022

LIFECYCLE_REMOTE_EXCEPTION
Cause: A java.rmi.RemoteException was thrown when an entity was activated, loaded, passivated, or stored.
Action: See the Exception message provided.

Error Code: 10023

SEQUENCE_EXCEPTION
Cause: An exception was thrown while handling a post-insert DescriptorEvent preventing the specified entity from being assigned a primary key.
Action: See the Exception message provided.

Error Code: 10024

NO_SUCH_ENTITY_EXCEPTION
Cause: A conforming find, using the same query as a find by primary key, failed with a javax.ejb.ObjectNotFoundException.
Action: See the Exception message provided.

Error Code: 10025

INTERNAL_ERROR_ACCESSING_CTX
Cause: Internal error.
Action: Please contact support if required.

Error Code: 10026

INTERNAL_ERROR_FINDING_GENSUBCLASS
Cause: Internal error.
Action: Please contact support.

Error Code: 10027

INTERNAL_ERROR_INITIALIZING_CTX
Cause: Internal error.
Action: Please contact support.

Error Code: 10028

INTERNAL_ERROR_INVALID_MAPPING
Cause: The SessionAccessor.registerOrMergeAttribute method, called from within an EJB setter method, failed to obtain a DatabaseMapping for the given attribute from the PersistenceManager.
Action: Verify that the given attribute belongs to the EJB class and if it does, verify that a mapping exists for it.

Error Code: 10029

INTERNAL_ERROR_ACCESSING_PK
Cause: Failed to wrap an EJB for return to the application because the attempt to extract the primary key from the bean failed.
Action: See the Exception message provided.

Error Code: 10030

INTERNAL_ERROR_ACCESSING_PKFIELD
Cause: Failed to initialize primary key fields due to java.lang.NoSuchFieldException.
Action: See the Exception message provided.

Error Code: 10031

INTERNAL_ERROR_PREPARING_BEAN_INVOKE
Cause: One of the following failed with an exception other than javax.ejb.ObjectNotFoundException: a conforming find using the same query as a find by primary key; an Oracle Application Server Containers for J2EE startCall method invocation for a BUISNESS_METHOD operation; or a WebLogic preInvoke method invocation.
Action: See the Exception message provided

Error Code: 10032

FINDER_NOT_IMPLEMENTED
Cause: Associated finder has no implementation.
Action: Provide an implementation for the finder.

Error Code: 10033

FINDER_FINDBYPK_NULLPK
Cause: A find by primary key was called with a null primary key value.
Action: Ensure the primary key is not null when the finder is invoked

Error Code: 10034

REMOVE_NULLPK_EXCEPTION
Cause: A find by primary key was called with a null primary key value.
Action: Ensure the primary key is not null when the finder is invoked.

Error Code: 10036

ERROR_DURING_CODE_GEN
Cause: The PersistenceManager for a given application server failed to code-generate a bean subclass.
Action: See the Exception message provided.

Error Code: 10037

ERROR_EXECUTING_EJB_SELECT
Cause: An EJB select failed with an exception other than javax.ejb.ObjectNotFoundException.
Action: See the Exception message provided.

Error Code: 10038

ERROR_EXECUTING_EJB_HOME
Cause: The invocation of a Home interface method (excluding finders or create methods) failed.
Action: See the Exception message provided.

Error Code: 10040

NO_ACTIVE_TRANSACTION
Cause: A create or remove EJB failed because the PersistenceManager does not have a transaction.
Action: Ensure your application has a transaction available. This may be a configuration problem related to your ejb-jar.xml or an application logic problem in your client code.

Error Code: 10043

FINDER_RESULTS_ALREADY_WRAPPED
Cause: The results of a finder query could not be wrapped because they were already wrapped.
Action: If a redirect query is used, be sure to call the setShouldUseWrapperPolicy(false) method first.

Error Code: 10045

LOCAL_WRAPPER_MISSING
Cause: Error resolving the local interface.
Action: Please double check your local interface configuration.

Error Code: 10046

REMOTE_WRAPPER_MISSING
Cause: Error resolving the remote interface.
Action: Please double check your remote interface configuration.

Error Code: 10047

CREATE_NULLPK_EXCEPTION
Cause: The PersistenceManager for a given application server failed to create a bean because the primary key was not defined.
Action: Make sure the primary key is defined properly, either in the application logic or through the sequence number configuration.

Communication Exception

A Communication Exception is a runtime exception that wraps all RMI, CORBA, or input and output (I/O) exceptions that occur.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-11 Communication Exception

EXCEPTION [TOPLINK – 12000]: oracle.toplink.exceptions.CommunicationException
EXCEPTION DESCRIPTION: Error Sending connection service to myService.

Error Codes 12000 - 12004

Error Code: 12000

ERROR_SENDING_CONNECTION_SERVICE
Cause: Failed to add a connection to CacheSynchronizationManager or RemoteCommandManager.
Action: See generated exception for root cause.

Error Code: 12001

UNABLE_TO_CONNECT
Cause: CacheSynronizationManager failed to connect to the specified service.
Action: See generated exception for root cause.

Error Code: 12003

UNABLE_TO_PROPAGATE_CHANGES
Cause: CacheSynronizationManager failed to propagate changes to the specified service.
Action: See generated exception for root cause.

Error Code: 12004

ERROR_IN_INVOCATION
Cause: Error invoking a remote call.
Action: See generated exception for root cause.

XML Data Store Exception

An XML Data Store Exception is a runtime exception thrown when using OracleAS TopLink to persist objects in the form of XML files (rather than using a relational database.)

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-12 XML Data Store Exception

EXCEPTION [TOPLINK – 13000]: oracle.toplink.xml.XMLDataStoreException
EXCEPTION DESCRIPTION: File not found: C:\data\myTable\row.xml.

Error Codes 13000 - 13020

Error Code: 13000

FILE_NOT_FOUND
Cause: Failed to create a WriteStream for an XML file (an individual file or a file extracted from a ZIP archive) because the file could not be found in the file system. This can happen if the XML DataAccessor is trying to update an XML file and the file does not exist. This indicates an inconsistent state between the application and what is on disk.
Action: Verify that the specified file exists.

Error Code: 13001

UNABLE_TO_CLOSE_WRITE_STREAM
Cause: After writing a row to the XML data store, failed to close the WriteStream used due to a java.io.IOException. This can happen if the disk is full.
Action: See the generated exception for the root cause. Verify that there is sufficient disk space available for this operation.

Error Code: 13002

NOT_A_DIRECTORY
Cause: Creating or deleting a file source failed because the File being created or deleted was not a directory or a file exists with the same name as the directory indicated.
Action: Verify that OracleAS TopLink has permissions to create the necessary directories. Verify that there is sufficient disk space available for this operation.

Error Code: 13003

DIRECTORY_COULD_NOT_BE_CREATED
Cause: Checking or creating a file or document source failed because the File.mkdirs method failed to create the directory named by the specified abstract pathname, including any necessary but nonexistent parent.
Action: Verify that OracleAS TopLink has permissions to create the necessary directories. Verify that there is sufficient disk space available for this operation.

Error Code: 13004

DIRECTORY_NOT_FOUND
Cause: Directory does not exist and OracleAS TopLink has not been set to create directories as needed (createsDirectoriesAsNeeded policy is false.)
Action: Either create the appropriate directory or configure OracleAS TopLink to create directories as needed (set createsDirectoriesAsNeeded true.)

Error Code: 13005

FILE_ALREADY_EXISTS
Cause: OracleAS TopLink is attempting to create a file and the file already exists. OracleAS TopLink expects to be able to create a new version of the file and will not overwrite an existing file. This can happen if the XML DataAccessor is trying to insert an XML file and the file already exists. This indicates an inconsistent state between the application and what is on disk.
Action: Change where OracleAS TopLink is writing or remove the existing file.

Error Code: 13006

UNABLE_TO_CREATE_WRITE_STREAM
Cause: Failed to create a WriteStream due to a java.io.IOException.
Action: See the generated exception for the root cause.

Error Code: 13007

INVALID_FIELD_VALUE
Cause: Failed to construct an XML element to represent an object because the object was an invalid type. For a direct collection, one or more of the elements had a type that was not null or String. For a nested row, one or more of the elements had a type that was not DatabaseRow.
Action: See the generated exception for the root cause. Verify the configuration of the object being persisted to ensure that it can be persisted in an XML data store.

Error Code: 13008

CLASS_NOT_FOUND
Cause: Failed to load the specified class due to a java.lang.ClassNotFoundException. This indicates a problem either with the OracleAS TopLink JAR (it is missing the class oracle.toplink.xml.xerces.DefaultXMLTranslator) or an improperly configured custom class loader (see the DatabaseLogin.setXMLParserJARFileNames method).
Action: See the generated exception for the root cause. Confirm that the OracleAS TopLink JAR contains oracle.toplink.xml.xerces.DefaultXMLTranslator. If you are using a custom class loader, confirm that this class is included in the list of JAR files passed into DatabaseLogin.setXMLParserJARFileNames method.

Error Code: 13009

SAX_PARSER_ERROR
Cause: Failed to parse the specified XML file due to an org.xml.sax.SAXParseException.
Action: See the generated exception for the root cause including the line and column number at which the SAXParseException was thrown.

Error Code: 13010

GENERAL_EXCEPTION
Cause: An operation failed due to something other than an org.xml.sax.SAXParseException.
Action: An exception was thrown either when trying to build a parser or to build a document that caused that action to fail. See the generated exception for the root cause.

Error Code: 13011

IOEXCEPTION
Cause: A ReadStream or WriteStream could not be created due to a java.io.IOException.
Action: See the generated exception for the root cause.

Error Code: 13012

UNABLE_TO_CLOSE_READ_STREAM
Cause: After reading a row from the XML data store, failed to close the ReadStream used due to a java.io.IOException.
Action: See the generated exception for the root cause.

Error Code: 13013

HETEROGENEOUS_CHILD_ELEMENTS
Cause: Composite elements are being stored in a DirectCollectionMapping. DirectCollectionMappings in the SDK will only work with simple elements. Simple elements contain only one child of type text in XML.
Action: Ensure elements that are mapped as direct collections only contain simple elements.
Cause: Child elements of a complex element are not the same type: the type of each child element must be the same as that of the first child element.
Action: Verify that the XML document is not corrupt. If it is valid, ensure that it meets SDK requirements as illustrated in Example C-13 and Example C-14.
Cause: Child elements of a complex element do not have the same name.
Action: Verify that the XML document is not corrupt. If it is valid, ensure that it meets SDK requirements as in Example C-13 and Example C-14.

Example C-13 XML Supported by the SDK

<foo>
    <bar> [string or nested elements] </bar>
    <bar> [must match the first child: either string or nested elements] </bar>
    <bar> [must match the first child: either string or nested elements] </bar>
</foo>

Example C-14 XML Not Supported by the SDK

<foo>
    <bar> ... </bar>
    <fred> [this element will cause the exception] </fred>
    <bar> ... </bar>
</foo>

Error Code: 13017

INSTANTIATION_EXCEPTION
Cause: Failed to instantiate the specified class due to a java.lang.InstantiationException. This indicates a problem either with the OracleAS TopLink JAR (it is missing the class oracle.toplink.xml.xerces.DefaultXMLTranslator) or an improperly configured custom class loader (see the DatabaseLogin.setXMLParserJARFileNames method).
Action: See the generated exception for the root cause. Ensure that the specified class is not an interface or an abstract class. Confirm that the OracleAS TopLink JAR contains oracle.toplink.xml.xerces.DefaultXMLTranslator. If you are using a custom class loader, confirm that this class is included in the list of JAR files passed into the DatabaseLogin.setXMLParserJARFileNames method.

Error Code: 13018

INSTANTIATION_ILLEGAL_ACCESS_EXCEPTION
Cause: Failed to instantiate the specified class due to a java.lang.IllegalAccessException. This indicates a problem either with the OracleAS TopLink JAR (it is missing the class oracle.toplink.xml.xerces.DefaultXMLTranslator) or an improperly configured custom class loader (see the DatabaseLogin.setXMLParserJARFileNames method).
Action: See the generated exception for the root cause. Ensure that the specified class is public. Ensure permission is set for Java reflection in your VM security settings. Ensure that the specified class is not an interface or an abstract class. Confirm that the OracleAS TopLink JAR contains oracle.toplink.xml.xerces.DefaultXMLTranslator. If you are using a custom class loader, confirm that this class is included in the list of JAR files passed into the DatabaseLogin.setXMLParserJARFileNames method.

Error Code: 13020

ELEMENT_DATA_TYPE_NAME_IS_REQUIRED
Cause: Failed to build XML for a given object because the object's data type name is null or zero length.
Action: Ensure that the element datatype name is provided

Deployment Exception

A Deployment Exception is a runtime exception thrown if problems are detected during deployment of an EJB. During deployment, project, sessions, and ejb-jar XML files (or their Java Class equivalents) are read and the necessary objects instantiated and initialized.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-15 Deployment Exception

EXCEPTION [TOPLINK – 14001]: oracle.toplink.ejb.DeploymentException
EXCEPTION DESCRIPTION: No OracleAS TopLink project was specified for this bean.

Error Codes 14001 - 14027

Error Code: 14001

NO_PROJECT_SPECIFIED
Cause: Neither project name nor class could be read from the deployment descriptor.
Action: Verify your project configuration in your deployment descriptor. Double check that either project-xml or project-class is specified.

Error Code: 14003

NO_SUCH_PROJECT_IDENTIFIER
Cause: No project exists with the identifier requested.
Action: Verify that the project name matches exactly the project name specified in your project XML file.

Error Code: 14004

ERROR_CREATING_CUSTOMIZATION
Cause: Could not create an instance of the DeploymentCustomization class.
Action: Verify the implementation of the class implementing the DeploymentCustomization interface. Start with the constructor, then proceed to the remainder of the implementation.

Error Code: 14005

ERROR_RUNNING_CUSTOMIZATION
Cause: An exception was thrown when either the DeploymentCustomization.afterLoginCustomization method or DeploymentCustomization.beforeLoginCustomization method was called.
Action: See the generated exception for the root cause. Verify the implementation of your DeploymentCustomization.

Error Code: 14011

ERROR_CONNECTING_TO_DATA_SOURCE
Cause: The data source could not be located in JNDI, or was not properly specified.
Action: Verify the data source attribute of the login element in your sessions XML file. Ensure that the data source is present and properly configured.

Error Code: 14016

ERROR_CREATING_PROJECT
Cause: The project XML file name or class was specified, but a general error occurred creating the project.
Action: See the generated exception for the root cause. Verify your project XML file.

Error Code: 14020

ERROR_IN_DEPLOYMENT_DESCRIPTOR
Cause: Error parsing the toplink-ejb-jar.xml.
Action: See the generated exception for the root cause. Verify your toplink-ejb-jar.xml file.

Error Code: 14023

CANNOT_FIND_GENERATED_SUBCLASS
Cause: An internal, unexpected Exception was thrown.
Action: See the Exception message provided.

Error Code: 14024

CANNOT_READ_TOPLINK_PROJECT
Cause: An internal, unexpected Exception was thrown reading the project.
Action: See the exception message provided.

Error Code: 14026

MUST_USE_TRANSPARENT_INDIRECTION
Cause: Your project contains either a one-to-many or many-to-many relationship (between EJB2.0 entity beans) which is not using transparent indirection.
Action: Verify your project is using transparent indirection for all one-to-many and many-to-many relationships involving EJB2.0 entity beans.

Error Code: 14027

MUST_USE_VALUEHOLDER
Cause: Your project contains a one-to-one relationship (between EJB2.0 entity beans) which is not using basic indirection.
Action: Verify your project is using basic indirection for all one-to-one relationships involving EJB2.0 entity beans.

Synchronization Exception

A Synchronization exception is a runtime exception that is raised when a cache synchronization update by OracleAS TopLink to a distributed session was unsuccessful. When this occurs, the message contains a reference to the error code and error message.

Error Codes 15001 - 15025

Error Code: 15001

UNABLE_TO_PROPAGATE_CHANGES
Cause: An error occurred when sending changes to remote system.
Action: See exception generated for cause.

Error Code: 15008

ERROR_DOING_LOCAL_MERGE
Cause: The local shared cache has become corrupt.
Action: Restart the session on this server or initializes.

Error Code: 15010

ERROR_LOOKING_UP_LOCAL_HOST
Cause: An IO exception occurred when attempting to discover local system IP address.
Action: See generated exception for root cause.

Error Code: 15011

ERROR_BINDING_CONTROLLER
Cause: An IO error occurred when attempting to register remote service.
Action: See generated exception for root cause and resolve.

Error Code: 15012

ERROR_LOOKING_UP_CONTROLLER
Cause: Unable to find remote server's remote service.
Action: See generated exception for root cause. Verify that remote server is running.

Error Code: 15013

LOOKING_UP_JMS_SERVICE
Cause: Unable to find the specified JMS service.
Action: Ensure that the IP address and port of the JMS service has been specified correctly in the session configuration and that the service is running.

Error Code: 15016

ERROR_GETTING_SYNC_SERVICE
Cause: An error occurred when attempting to initialize the Synchronization Service and specified in the Session configuration.
Action: See generated exception for root cause. Verify that the service has been properly specified in the session configuration.

Error Code: 15017

ERROR_NOTIFYING_CLUSTER
Cause: An error occurred when attempting to contact other OracleAS TopLink Sessions.
Action: See generated exception for root cause.

Error Code: 15018

ERROR_JOINING_MULTICAST_GROUP
Cause: An error occurred when attempting to join multicast group for OracleAS TopLink clustering handshaking phase.
Action: See generated exception for root cause.

Error Code: 15023

ERROR_RECEIVING_ANNOUNCEMENT
Cause: An IO error occurred when attempting to receive a session existence announcement from a remote OracleAS TopLink Session.
Action: See generated exception for root cause.

Error Code: 15025

FAIL_TO_RESET_CACHE_SYNCH
Cause: API on the Development Services called to reset OracleAS TopLink Cache Synchronization, including participation in the cluster, failed.
Action: See generated Exception for root cause.

JDO Exception

A JDO Exception is a runtime exception thrown when Java Data Objects are used.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-16 JDO Exception

EXCEPTION [TOPLINK – 16004]: oracle.toplink.exceptions.JDOException
EXCEPTION DESCRIPTION: Cannot execute transactional read query without an active transaction.

Error Codes 16001 - 16006

Error Code: 16001

OBJECT_IS_NOT_TRANSACTIONAL
Cause: Failed to delete an object because it was not registered with the currently active UnitOfWork.
Action: Register the specified object with the UnitOfWork before deleting.

Error Code: 16002

ARGUMENT_OBJECT_IS_NOT_JDO_OBJECTID
Cause: Failed to get an object by id because the ObjectId used was not a JDOObjectId.
Action: Ensure that you pass a JDOObjectId (not an ObjectId) when using the JDOPersistenceManager.

Error Code: 16003

OBJECT_FOR_ID_DOES_NOT_EXIST
Cause: Failed to get an object by id: no object with the specified JDOObjectId was found.
Action: Ensure that your application handles this exception appropriately.

Error Code: 16004

TRANSACTIONAL_READ_WITHOUT_ACTIVE_TRANSACTION
Cause: A query failed because although the JDOPersistenceManager is in a transactional read, the current transaction is inactive.
Action: Ensure there is an active transaction before doing a transactional read.

Error Code: 16005

TRANSACTION_IS_ALREADY_ACTIVE
Cause: Failed to begin a JDOTransaction because the transaction is already active.
Action: Commit or roll back the transaction before trying to begin.

Error Code: 16006

TRANSACTION_IS_NOT_ACTIVE
Cause: Failed to commit or roll back a JDOTransaction because the transaction is not active.
Action: Ensure that the transaction state is not altered by another application and is active before commit or roll back.

SDK Data Store Exception

An SDK Data Store Exception is a runtime exception thrown when SDK Classes are used to customize OracleAS TopLink.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-17 SDK Data Store Exception

EXCEPTION [TOPLINK – 17001]: oracle.toplink.sdk.SDKDataStoreException
EXCEPTION DESCRIPTION: The OracleAS TopLink SDK does not currently support Cursor.

Error Codes 17001 - 17006

Error Code: 17001

UNSUPPORTED
Cause: A method call failed because it is not currently supported by the SDK.
Action: Avoid using the unsupported method.

Error Code: 17002

INCORRECT_LOGIN_INSTANCE_PROVIDED
Cause: An instance of oracle.toplink.sdk.SDKAccessor was passed the wrong type of Login (the SDK expects an instance of DatabaseLogin).
Action: Verify that your SDK-based application is being passed the expected type of Login.

Error Code: 17003

INVALID_CALL
Cause: When the QueryManager owned by an SDKDescriptor is initialized, an instance of InvalidSDKCall is set for each type of Call that is not configured. If you invoke an unconfigured Call, this INVALID_CALL error is logged rather than simply throwing a NullPointerException because the INVALID_CALL error contains more information.
Action: Avoid using the unconfigured Call or provide a Call implementation in your SDK-based application.

Error Code: 17004

IE_WHEN_INSTANTIATING_ACCESSOR
Cause: Failed to instantiate the specified class due to a java.lang.InstantiationException.
Action: Ensure that the specified class is not an interface or an abstract class.

Error Code: 17005

IAE_WHEN_INSTANTIATING_ACCESSOR
Cause: Failed to instantiate the specified class due to a java.lang.IllegalAccessException.
Action: Ensure that specified class is public. Ensure permission is set for Java reflection in your VM security settings.

Error Code: 17006

SDK_PLATFORM_DOES_SUPPORT_SEQUENCES
Cause: Unsupported SDKPlatform methods buildSelectSequenceCall or buildUpdateSequenceCall were called.
Action: Avoid using these methods or subclass SDKPlatform and override them with your own implementation.

JMS Processing Exception

A JMS Processing Exception is a runtime exception thrown when processing Java Messaging Service messages.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-18 JMS Processing Exception

EXCEPTION [TOPLINK – 18001]: oracle.toplink.exceptions.JMSProcessingException
EXCEPTION DESCRIPTION: Error while processing incomming JMS message.

Error Codes 18001 - 18002

Error Code: 18001

DEFAULT
Cause: Failed to process incoming JMS message.
Action: See generated exception for root cause.

Error Code: 18002

NO_TOPIC_SET
Cause: JMSClusteringService failed to start because the Topic created in the JMS service for the interconnection of sessions is null.
Action: Ensure that the Topic created in the JMS service for the interconnection of sessions is set in the JMSClusteringService.

SDK Descriptor Exception

An SDK Descriptor Exception is a runtime exception thrown when using SDK Classes to customize OracleAS TopLink Descriptors.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-19 SDK Descriptor Exception

EXCEPTION [TOPLINK – 19001]: oracle.toplink.sdk.SDKDescriptorException
EXCEPTION DESCRIPTION: The OracleAS TopLink SDK does not currently support query result ordering.

Error Codes 19001 - 19003

Error Code: 19001

UNSUPPORTED
Cause: A method call failed because it is not currently supported by the SDK.
Action: Avoid using the unsupported method.

Error Code: 19002

CUSTOM_SELECTION_QUERY_REQUIRED
Cause: An SDKObjectCollectionMapping was used without a custom selection query.
Action: Set custom selection query on the SDKObjectCollectionMapping.

Error Code: 19003

SIZE_MISMATCH_OF_FIELD_TRANSLATIONS
Cause: Mapping field name array and data store field name array are of different lengths.
Action: The sizes of the field translation arrays must be equal.

SDK Query Exception

An SDK Query Exception is a runtime exception thrown when using SDK Classes to customize OracleAS TopLink Queries.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-20 SDK Query Exception

EXCEPTION [TOPLINK – 20002]: oracle.toplink.sdk.SDKQueryException
EXCEPTION DESCRIPTION: Invalid SDK mechanism state - only one call is allowed.

Error Codes 20001 - 20004

Error Code: 20001

INVALID_SDK_CALL
Cause: The passed call is not an instance of SDKCall.
Action: Use an instance of SDKCall.

Error Code: 20003

INVALID_SDK_ACCESSOR
Cause: Accessor set into SDKQuery is not an instance of SDKAccessor.
Action: Set SDKAccessor.

Error Code: 20004

INVALID_ACCESSOR_CLASS
Cause: The SDKLogin.setAccessorClass method was passed a class that does not implement the interface referred to by ClassConstants.Accessor_Class.
Action: Ensure that you pass a Class that implements the Accessor interface.

Discovery Exception

A Discovery Exception is a runtime exception thrown when DiscoveryManager is operating.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-21 Discovery Exception

EXCEPTION [TOPLINK – 22001]: oracle.toplink.exception.DiscoveryException
EXCEPTION DESCRIPTION: Could not join multicast group.

Error Codes 22001 - 22004

Error Code: 22001

ERROR_JOINING_MULTICAST_GROUP
Cause: DiscoveryManager failed to join a multicast group due to a java.io.IOException: either a MulticastSocket could not be created or the invocation of the MulticastSocket.joingGroup method failed.
Action: See the generated exception for root cause.

Error Code: 22002

ERROR_SENDING_ANNOUNCEMENT
Cause: DiscoveryManager failed to inform other services that its service has started up.
Action: Consider increasing the announcement delay: the amount of time in milliseconds that the service should wait between the time that this remote service is available and a session announcement is sent out to other discovery managers. This may be needed to give some systems more time to post their connections into the naming service. See the DiscoveryManager.setAnnouncementDelay method.

Error Code: 22004

ERROR_RECEIVING_ANNOUNCEMENT
Cause: DiscoveryManager caught a java.io.IOException while blocking for announcements from other DiscoveryManagers.
Action: See the generated exception for root cause.

Remote Command Manager Exception

A Remote Command Manager Exception is a runtime exception thrown when the Remote Command Module is used.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-22 Remote Command Manager Exception

EXCEPTION [TOPLINK – 22104]: oracle.toplink.exceptions.RemoteCommandManagerException
EXCEPTION DESCRIPTION: Could not look up hostname.

Error Codes 22101 - 22105

Error Code: 22101

ERROR_OBTAINING_CONTEXT_FOR_JNDI
Cause: Failed to get a JNDI context with the specified properties due to a javax.naming.NamingException.
Action: See generated exception for root cause. Verify that the properties for looking up the context is correct.

Error Code: 22102

ERROR_BINDING_CONNECTION
Cause: Failed to post a connection in the local naming service.
Action: See generated exception for root cause.

Error Code: 22103

ERROR_LOOKING_UP_REMOTE_CONNECTION
Cause: Failed to look up a remote connection with the specified name and URL.
Action: See generated exception for root cause. Verify that remote connection and URL are correct.

Error Code: 22104

ERROR_GETTING_HOST_NAME
Cause: The java.net.InetAddress.getLocalHost method failed to look up the specified hostname.
Action: See generated exception for root cause. Verify that the host is on-line and reachable.

Error Code: 22105

ERROR_PROPAGATING_COMMAND
Cause: Failed to propagate a command to the specified connection.
Action: See generated exception for root cause. Verify that the remote host of the specified connection is on-line and reachable if the generated exception included a CommunicationException.

XML Conversion Exception

An XML Conversion Exception is a runtime exception thrown when conversion between OracleAS TopLink instances and XML failed. This exception is used in cache synchronization that uses XML change set.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-23 XML Conversion Exception

EXCEPTION [TOPLINK – 25001]: oracle.toplink.exceptions.XMLConversionException
EXCEPTION DESCRIPTION: Cannot create URL for file  [\\FILE_SERVER\command.xml].

Error Code 25001

Error Code: 25001

ERROR_CREATE_URL
Cause: Failed to create a URL for the specified file.
Action: Ensure the specified file exists and is accessible.

EJB JAR XML Exception

An EJB JAR XML Exception is a runtime exception thrown at deployment time when the ejb-jar XML file is read and required concrete EJB Classes code generated.

Format

EXCEPTION [TOPLINK – error code]: Exception name
EXCEPTION DESCRIPTION: Message

Example C-24 EJB JAR XML Exception

EXCEPTION [TOPLINK – 72000]: oracle.toplink.exceptions.EJBJarXMLException
EXCEPTION DESCRIPTION: Error reading ejb-jar.xml file.

Error Codes 72000 - 72023

Error Code: 72000

READ_EXCEPTION
Cause: Failed to read an ejb-jar XML file due to a java.io.IOException or javax.xml.parsers.ParserConfigurationException.
Action: See generated exception for root cause.

Error Code: 72001

INVALID_DOC_TYPE
Cause: Failed to parse the specified file because it did not use the expected doctype: -//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN
Action: Verify that your ejb-jar XML file uses the correct doc type.

Error Code: 72023

NO_CMR_FIELD_FOR_BEAN_ABSTRACT_SETTER
Cause: Code generation of a one-to-one bean setter method body failed because: the Descriptor was null, the Descriptor has no InheritancePolicy, the Descriptor InheritancePolicy has a null parent class, or no Container Managed Relation field defined.
Action: Verify the configuration of this Deployment Descriptor in your ejb-jar XML file.