I used orb in jdk1.3, and j2ee in ejb container which is supplied by sun.
and then I tried to integrate
such as,
EJB client -> EJB Session beans(CORBA Client) -> CORBA Server
java orb is OK and ejb session bean is also No problem in each other.
but in integration, I have some problem.
the problem is getting the naming context.
Why Ejb server can get the naming context in orb(jdk1.3).
There is a someting which I don't know............maybe
JNDI and corba naming service are different?
woo... I don't know.....
help me ....
SumEJB.java code
----------------------------------------------------------------------------
---------------------------
import Calculator.*; // Stub package
import org.omg.CosNaming.*;
import org.omg.CORBA.*;
import java.io.*;
import java.rmi.RemoteException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class SumEJB implements SessionBean {
public double AddEnd(double EndVal, String[] args) {
try
{
ORB orb = ORB.init(args, null);
// that is problem////////
org.omg.CORBA.Object objRef =
orb.resolve_initial_references("NameService");
/*
NamingContext ncRef = NamingContextHelper.narrow(objRef);
NameComponent nc = new NameComponent("cal", "");
NameComponent path[] = {nc};
CalcuObject cal = CalcuObjectHelper.narrow(ncRef.resolve(path));
int temp = (int)EndVal;
int SumVal;
SumVal = cal.Add(temp);
return (double)SumVal;
*/
return 1.0;
}
catch(Exception e)
{
System.out.println("ERROR : " + e);
e.printStackTrace(System.out);
}
return 0.0;
}
public SumEJB() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}
}
----------------------------------------------------------------------------
---------------------------
error message
----------------------------------------------------------------------------
---------------------------
ERROR : org.omg.CORBA.OBJ_ADAPTER: minor code: 1398079492 completed: No
org.omg.CORBA.OBJ_ADAPTER: minor code: 1398079492 completed: No
at com.sun.corba.se.internal.corba.ORB.connect(ORB.java:1040)
at com.sun.corba.se.internal.corba.ORB.getServantIOR(ORB.java:1072)
at
com.sun.corba.se.internal.corba.ClientDelegate.getServiceContexts(ClientDele
gate.java:232)
at
com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.
java:302)
at
com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.
java:318)
at
com.sun.corba.se.internal.corba.InitialNamingClient.resolve(InitialNamingCli
ent.java:198)
at
com.sun.corba.se.internal.corba.InitialNamingClient.cachedInitialReferences(
InitialNamingClient.java:265)
at
com.sun.corba.se.internal.corba.InitialNamingClient.resolve_initial_referenc
es(InitialNamingClient.java:188)
at
com.sun.corba.se.internal.corba.ORB.resolve_initial_references(ORB.java:1393
)
at SumEJB.AddEnd(SumEJB.java:25)
at SumEJB_EJBObjectImpl.AddEnd(SumEJB_EJBObjectImpl.java:19)
at _SumEJB_EJBObjectImpl_Tie._invoke(Unknown Source)
at
com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPO
AServerSC.java:423)
at
com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOA
ServerSC.java:137)
at
com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC
.java:98)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:227)
at
com.sun.corba.ee.internal.iiop.CachedWorkerThread.doWork(IIOPConnection.java
:262)
at
com.sun.corba.ee.internal.iiop.CachedWorkerThread.run(IIOPConnection.java:23
0)
----------------------------------------------------------------------------
---------------------------
thanks in advance......