Getting java.lang.ClassCastException while using PortableRemoteObject in WL
843829Dec 28 2003 — edited Dec 30 2003Hi,
I am trying to create a simple j2ee application using weblogic 8.1 on XP with Oracle 9. I am trying to connect to an EJB using an java client. I will appreciate any help with this. The exception and code are as follows:
Exception:
java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(Porta
bleRemoteObject.java:293)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
at com.titan.client.Client_41.main(Client_41.java:31)
package com.titan.client;
import com.titan.cabin.CabinHomeRemote;
import com.titan.cabin.CabinRemote;
import com.titan.cabin.*;
import javax.naming.InitialContext;
import javax.naming.Context;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import javax.ejb.SessionContext;
import javax.ejb.EJBException;
import javax.rmi.PortableRemoteObject;
import javax.ejb.SessionBean;
import java.util.Properties;
import java.util.Vector;
public class Client_41{
public static void main(String [] args){
try{
Context ctx = getInitialContext();
Class c = CabinHomeRemote.class;
System.out.println("Looking-up EJB Class \"Cabin\"...");
//System.out.println(ctx.lookup("CabinHomeRemote"));
Object obj = ctx.lookup("CabinHomeRemote");
System.out.println("Porting the CabinHomeRemote");
System.out.println(PortableRemoteObject.narrow(ctx.lookup("CabinHomeRemote"), c));
CabinHomeRemote home = (CabinHomeRemote) PortableRemoteObject.narrow(obj, CabinHomeRemote.class);
CabinRemote cabin_1 = home.create();
Integer id = cabin_1.getId();
cabin_1.setDeckLevel(1);
cabin_1.setShipId(1);
cabin_1.setBedCount(3);
CabinRemote cabin_2 = home.findByPrimaryKey(id);
System.out.println(cabin_2.getName());
System.out.println(cabin_2.getDeckLevel());
System.out.println(cabin_2.getShipId());
System.out.println(cabin_2.getBedCount());
}catch(Exception e){
e.printStackTrace();
}
}//end of main
public static Context getInitialContext() throws javax.naming.NamingException{
Properties p = new Properties();
System.out.println("Initializing \"InitialContext\"...");
//p.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
//p.put("java.naming.provider.url", "iiop://localhost:3700") ;
p.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
//p.put(Context.PROVIDER_URL, "iiop://206.149.148.105:7001");
p.put(Context.PROVIDER_URL, "iiop://localhost:7001");
System.out.println("Getting \"InitialContext\"...");
return new javax.naming.InitialContext(p);
}
}//end of class