ejb@glassfish.java.net

unable to lookup EJB deployed in Glassfish from Tomcat

From: santosh <setty.santosh_at_gmail.com>
Date: Wed, 11 Feb 2009 12:30:36 +0530

hi,

i am unable to lookup ejb from stanalone EJB Client.


After server started,
On first lookup, i am able to lookup and insert the system record into
MDM(able to perform operation).

but on second lookup. i am unable to lookup EJB.


EJBclient is deployed in tomcat. And tomcat and glassfish server are on same
system.

here is the error stack on tomcat,


WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType:
IIOP_CLEAR_TEXT; hostname: 10.11.32.130; port: 8107"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
        at
com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilS
ystemException.java:2690)
        at
com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilS
ystemException.java:2711)
        at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketO
rChannelConnectionImpl.java:261)
        at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketO
rChannelConnectionImpl.java:274)
        at
com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnect
ion(SocketOrChannelContactInfoImpl.java:130)
        at
com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest
(CorbaClientRequestDispatcherImpl.java:192)
        at
com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDe
legateImpl.java:181)
        at
com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDeleg
ateImpl.java:325)
        at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
        at
org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
        at
com.sun.enterprise.naming.SerialContext.narrowProvider(SerialContext.java:13
1)
        at
com.sun.enterprise.naming.SerialContext.getRemoteProvider(SerialContext.java
:220)
        at
com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:160)
        at
com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:398)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at
com.ndorange.therasystem.services.MPIInitializer.getInstance(MPIInitializer.
java:52)
        at
com.ndorange.therasystem.services.MPIPatientService.addCosPerson(MPIPatientS
ervice.java:122)
        at
com.ndorange.therasystem.services.PatientServiceImpl$MPIRunable.run(PatientS
erviceImpl.java:3837)
        at
com.flyinghorsestudios.cyborg.MotorNeuron.run(MotorNeuron.java:73)
        at
com.flyinghorsestudios.cyborg.glia.BackupExecutor$WorkerThread.run(BackupExe
cutor.java:113)
Caused by: java.lang.RuntimeException:
java.nio.channels.ClosedByInterruptException
        at
com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFacto
ry.java:347)
        at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketO
rChannelConnectionImpl.java:244)
        ... 17 more
Caused by: java.nio.channels.ClosedByInterruptException
        at
java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptible
Channel.java:184)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:518)
        at
com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:1
05)
        at
com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFacto
ry.java:332)
        ... 18 more


here are the properties i am setting,


Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.enterprise.naming.SerialInitContextFactory");
env.put("org.omg.CORBA.ORBInitialHost", "10.11.32.130");
env.put("org.omg.CORBA.ORBInitialPort", "8107");
env.put("java.naming.factory.url.pkgs","com.sun.enterprise.naming");
env.put("java.naming.factory.state","com.sun.corba.ee.impl.presentation.rmi.
JNDIStateFactoryImpl");

InitialContext ic = new InitialContext(env);

ProgrammaticLogin programmaticLogin = new ProgrammaticLogin();
Boolean login = programmaticLogin.login(jndiproperties .getString("userid"),
jndiproperties.getString("pwd"),"file", false);
logger.debug("login :" + login);
MasterControllerRemote mc = (MasterControllerRemote)
ic.lookup("ejb/MasterPatientMasterController");

 

I am using glassfish v2ur2-b04 linux version and tomcat 6.0

 

 

Please help me in resolving this issue.

 

Thanks,

Santosh