supersizeme
Programmer
Ran into a snag. I applied FixPak4 to my WebSphere 3.5 installation and my MQSeries application no longer works correctly even though it worked fine before the upgrade.
I had version 5.1.2 of the MQSeries classes for Java and JMS when it worked fine. I had those installed after it failed to work succeeding the WAS upgrade. I have since upgraded to version 5.2 of the MQSeries classes, but this didn't help.
I can connect to my initialcontext, but now when I go to look something up, I get a ClassCastException. IBM actually had a FAQ entry on this and said to use the narrow method instead of a direct cast, my code never gets past the lookup... and based on the stack dump, I believe the error is coming internally (com.ibm.rmi.iiop.Connection).
My queues are all correct and setup fine as this code has worked before.
Here is a snippet of my code:
java.util.Properties props = new java.util.Properties();
props.setProperty(javax.naming.InitialContext.PROVIDER_URL, "iiop://localhost/"
props.setProperty(
javax.naming.InitialContext.INITIAL_CONTEXT_FACTORY,
"com.ibm.ejs.ns.jndi.CNInitialContextFactory"
javax.naming.InitialContext ic = new javax.naming.InitialContext(props);
Object o = ic.lookup("jms/Samples/QCF_NoTrans"
QueueConnectionFactory qcf = (QueueConnectionFactory)javax.rmi.PortableRemoteObject.narrow(o, QueueConnectionFactory.class);
The error will occur on the lookup. It will also occur if I lookup any object even one I freshly created.
Here is the stack dump:
Exception: Error during resolve
javax.naming.NamingException: Error during resolve. Root exception is java.lang.ClassCastException
java.lang.Throwable()
java.lang.Exception()
java.lang.RuntimeException()
java.lang.ClassCastException()
com.ibm.rmi.iiop.Connection com.ibm.CORBA.iiop.ConnectionTable.get(com.ibm.rmi.Profile, java.lang.String, org.omg.CORBA.Object, boolean)
com.ibm.rmi.iiop.Connection com.ibm.CORBA.iiop.ConnectionTable.get(com.ibm.rmi.Profile, java.lang.String, org.omg.CORBA.Object, boolean)
com.ibm.rmi.ClientRequest com.ibm.CORBA.iiop.GIOPImpl.createRequest(com.ibm.rmi.IOR, java.lang.String, boolean, com.ibm.CORBA.iiop.ClientDelegate, int, org.omg.CORBA.Object, boolean)
com.ibm.rmi.ClientRequest com.ibm.CORBA.iiop.GIOPImpl.createRequest(com.ibm.rmi.IOR, java.lang.String, boolean, com.ibm.CORBA.iiop.ClientDelegate, org.omg.CORBA.Object, boolean)
com.ibm.rmi.ClientRequest com.ibm.CORBA.iiop.ClientDelegate.createRequest(java.lang.String, boolean, org.omg.CORBA.Object)
org.omg.CORBA.portable.OutputStream com.ibm.CORBA.iiop.ClientDelegate.request(org.omg.CORBA.Object, java.lang.String, boolean)
org.omg.CORBA.portable.OutputStream org.omg.CORBA.portable.ObjectImpl._request(java.lang.String, boolean)
org.omg.CORBA.Object org.omg.ExtendedNaming._NamingContextBaseStub.resolve(org.omg.CosNaming.NameComponent [])
org.omg.CORBA.Object org.omg.ExtendedNaming._NamingContextStub.resolve(org.omg.CosNaming.NameComponent [])
java.lang.Object com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(org.omg.CosNaming.NameComponent [])
java.lang.Object com.ibm.ejs.ns.jndi.CNContextImpl.lookup(java.lang.String)
java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
void com.avaya.thinclient.applet.QueueListener.InitJms(java.lang.String [])
com.avaya.thinclient.applet.QueueListener(java.lang.String [], com.avaya.thinclient.applet.ConnectionServer)
com.avaya.thinclient.applet.ConnectionServer(java.lang.String [])
void com.avaya.thinclient.applet.TheServer.main(java.lang.String [])
I had version 5.1.2 of the MQSeries classes for Java and JMS when it worked fine. I had those installed after it failed to work succeeding the WAS upgrade. I have since upgraded to version 5.2 of the MQSeries classes, but this didn't help.
I can connect to my initialcontext, but now when I go to look something up, I get a ClassCastException. IBM actually had a FAQ entry on this and said to use the narrow method instead of a direct cast, my code never gets past the lookup... and based on the stack dump, I believe the error is coming internally (com.ibm.rmi.iiop.Connection).
My queues are all correct and setup fine as this code has worked before.
Here is a snippet of my code:
java.util.Properties props = new java.util.Properties();
props.setProperty(javax.naming.InitialContext.PROVIDER_URL, "iiop://localhost/"
props.setProperty(
javax.naming.InitialContext.INITIAL_CONTEXT_FACTORY,
"com.ibm.ejs.ns.jndi.CNInitialContextFactory"
javax.naming.InitialContext ic = new javax.naming.InitialContext(props);
Object o = ic.lookup("jms/Samples/QCF_NoTrans"
QueueConnectionFactory qcf = (QueueConnectionFactory)javax.rmi.PortableRemoteObject.narrow(o, QueueConnectionFactory.class);
The error will occur on the lookup. It will also occur if I lookup any object even one I freshly created.
Here is the stack dump:
Exception: Error during resolve
javax.naming.NamingException: Error during resolve. Root exception is java.lang.ClassCastException
java.lang.Throwable()
java.lang.Exception()
java.lang.RuntimeException()
java.lang.ClassCastException()
com.ibm.rmi.iiop.Connection com.ibm.CORBA.iiop.ConnectionTable.get(com.ibm.rmi.Profile, java.lang.String, org.omg.CORBA.Object, boolean)
com.ibm.rmi.iiop.Connection com.ibm.CORBA.iiop.ConnectionTable.get(com.ibm.rmi.Profile, java.lang.String, org.omg.CORBA.Object, boolean)
com.ibm.rmi.ClientRequest com.ibm.CORBA.iiop.GIOPImpl.createRequest(com.ibm.rmi.IOR, java.lang.String, boolean, com.ibm.CORBA.iiop.ClientDelegate, int, org.omg.CORBA.Object, boolean)
com.ibm.rmi.ClientRequest com.ibm.CORBA.iiop.GIOPImpl.createRequest(com.ibm.rmi.IOR, java.lang.String, boolean, com.ibm.CORBA.iiop.ClientDelegate, org.omg.CORBA.Object, boolean)
com.ibm.rmi.ClientRequest com.ibm.CORBA.iiop.ClientDelegate.createRequest(java.lang.String, boolean, org.omg.CORBA.Object)
org.omg.CORBA.portable.OutputStream com.ibm.CORBA.iiop.ClientDelegate.request(org.omg.CORBA.Object, java.lang.String, boolean)
org.omg.CORBA.portable.OutputStream org.omg.CORBA.portable.ObjectImpl._request(java.lang.String, boolean)
org.omg.CORBA.Object org.omg.ExtendedNaming._NamingContextBaseStub.resolve(org.omg.CosNaming.NameComponent [])
org.omg.CORBA.Object org.omg.ExtendedNaming._NamingContextStub.resolve(org.omg.CosNaming.NameComponent [])
java.lang.Object com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(org.omg.CosNaming.NameComponent [])
java.lang.Object com.ibm.ejs.ns.jndi.CNContextImpl.lookup(java.lang.String)
java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
void com.avaya.thinclient.applet.QueueListener.InitJms(java.lang.String [])
com.avaya.thinclient.applet.QueueListener(java.lang.String [], com.avaya.thinclient.applet.ConnectionServer)
com.avaya.thinclient.applet.ConnectionServer(java.lang.String [])
void com.avaya.thinclient.applet.TheServer.main(java.lang.String [])