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:
-
The exception number in the format, EXCEPTION [TOPLINK-
XXXX
]
-
A description of the problem, taken from the thrown exception
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.