In one of my test VMs I have IAM 11g R1 installed and am upgrading to Patch Set 1 (PS1), also known as 11.1.1.5. In the upgrade process (which I'll be blogging about later) I ran into a problem running migration util.
When you run the migration utility it exports all of the objects in your OAM store to a compressed and encrypted file. The tool, run from the command line, connects to the WebLogic Server and iterates through all of the objects. I've been using this environment for a while and have added and deleted authentication schemes, user directories and basically every other object possible. In doing so I managed to get the environment into a perfectly operable state which the migration utility doesn't like.
On the migration utility site I see this stack trace:
Jun 1, 2011 6:17:44 PM com.sun.corba.se.impl.encoding.CDRInputStream_1_0 read_value
WARNING: "IOP00810257: (MARSHAL) Could not find class"
org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 257 completed: Maybe
at com.sun.corba.se.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:8260)
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1013)
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1995)
at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2220)
at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1227)
Which isn't particularly helpful. On the WebLogic Server side I got this error which
IS helpful:
<Jun 1, 2011 6:17:44 PM EDT> <Error> <oracle.oam.t2p> <OAM-22023> <Error while setting the default authentication scheme: {0}
java.lang.NullPointerException
at oracle.security.am.t2p.MigrationMXBeanImpl.copyPolicy(Unknown Source)
at oracle.security.am.t2p.MigrationMXBeanImpl.fetchPolicyConfiguration(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Which, as you would expect, means that none of the Authentication Schemes are marked as the default scheme. To fix the problem you need only open up the OAM Console, navigate to the LDAPscheme Authentication Schemes and click the "set as default" button.