The following interface from the FT IDL illustrates the problem. interface GenericFactory { typedef any FactoryCreationId; Object create_object(in TypeId type_id, in Criteria the_criteria, out FactoryCreationId factory_creation_id) raises (NoFactory, ObjectNotCreated, InvalidCriteria, InvalidProperty, CannotMeetCriteria); void delete_object(in FactoryCreationId factory_creation_id) raises (ObjectNotFound); }; The above IDL generates a FactoryCreationIdHolder class and uses it in the create_object method signature for the out parameter. The Java to IDL spec states: Typedefs for types that are neither arrays nor sequences are "unwound" to their original type until a simple IDL type or user-defined IDL type (of the non typedef variety) is encountered. Holder classes are generated for sequence and array typedefs only. The "unwound" type s Holder class is used for the other cases. Hence org.omg.CORBA.AnyHolder should be used in this case.
Updated IDL compiler not to generate Holders for typedef'd anys and use AnyHolder instead.