应用程序服务器使用sun公司application pe,服务也已经启动,装在本机上,但下面代码会执行出错,请各位大侠看一下这是什么问题,附代码如下,该代码的功能是使用jndi绑定一个普通的对象,然后查找该对象,
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.io.Serializable;
import java.util.Hashtable;public class TestSunPEJndi {
public static void main(String[] args){
Hashtable ht = new Hashtable(11);
ht.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
ht.put(Context.PROVIDER_URL,"iiop://localhost:4848");
        BindedClass bc = new BindedClass();
try
        {
         Context cxt = new InitialContext(ht);
         cxt.bind("sqx1",bc);
        }
        catch(NamingException e){
         e.printStackTrace();
        
        }
}}class BindedClass implements Serializable{

}运行后,有以下错误提示:
2008-2-16 14:15:52 com.sun.corba.ee.spi.logging.LogWrapperBase doLog
信息: "IOP00710299: (INTERNAL) Successfully created IIOP listener on the specified host/port: all interfaces/2951"
javax.naming.CommunicationException: java.rmi.MarshalException: CORBA MARSHAL 1398079745 Maybe; nested exception is: 
org.omg.CORBA.MARSHAL: ----------BEGIN server-side stack trace----------
org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 257 completed: Maybe
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:8101)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1013)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:255)
at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:269)
at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:559)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:739)
at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:226)
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:422)
at javax.rmi.CORBA.Util.readAny(Util.java:92)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$10.read(DynamicMethodMarshallerImpl.java:251)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readArguments(DynamicMethodMarshallerImpl.java:393)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:121)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:469)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1258)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
Caused by: java.lang.ClassNotFoundException
... 22 more----------END server-side stack trace----------  vmcid: SUN  minor code: 257 completed: Maybe
at com.sun.enterprise.naming.SerialContext.bind(SerialContext.java:352)
at javax.naming.InitialContext.bind(InitialContext.java:400)
at use_sunpe_asjndi_storeobject.TestSunPEJndi.main(TestSunPEJndi.java:20)

解决方案 »

  1.   

    Caused by: java.lang.ClassNotFoundException你有一个需要的类不在classpath里面 
      

  2.   

    1 java.rmi.MarshalException: CORBA MARSHAL 1398079745 Maybe可能2方面的类库版本不一致!剃除重复的老版本的类库2 com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(你缺少了某个类库