问题描述
SessionBean:packagecom.test.ejb;importjavax.ejb.Stateless;@StatelesspublicclassHelloWorldimplementsHelloWorldLocal,HelloWorldRemote{publicHelloWorld(){}publicStringsayHello(Stringname){returnname+":lllll";}}客户端调用:packageejb.client;importjava.util.Properties;importjavax.naming.Context;importjavax.naming.InitialContext;importjavax.naming.NamingException;importcom.test.ejb.HelloWorld;publicclassEjbClient{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubPropertiesproperties=newProperties();properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");properties.setProperty(Context.PROVIDER_URL,"t3://localhost:7001");properties.put("java.naming.security.principal","weblogic");//用户名properties.put("java.naming.security.credentials","12345678");//密码try{Contextcontext=newInitialContext(properties);HelloWorldhw=(HelloWorld)context.lookup("mejbmejb_jarMejb_EO");System.out.print(hw.sayHello("vic"));}catch(NamingExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}异常信息:Exceptioninthread"main"java.lang.ClassCastException:org.omg.stub.javax.management.j2ee._Management_Stubatejb.client.EjbClient.main(EjbClient.java:25)
解决方案
解决方案二:
EjbClient.java:25这个是什么?另外配置文件呢?
解决方案三:
引用1楼yanghongjy的回复:
EjbClient.java:25这个是什么?另外配置文件呢?
没配,不知道怎么配
解决方案四:
HelloWorldhw=(HelloWorld)context.lookup("mejbmejb_jarMejb_EO");
1用接口HelloWorldLocalHelloWorldRemote2mejbmejb_jarMejb_EO这个是什么?你应该是找helloWorld的ejb名称。
解决方案五:
引用3楼shnulaa的回复:
HelloWorldhw=(HelloWorld)context.lookup("mejbmejb_jarMejb_EO");1用接口HelloWorldLocalHelloWorldRemote2mejbmejb_jarMejb_EO这个是什么?你应该是找helloWorld的ejb名称。
weblogicconsole里看到的jndi名字啊
解决方案六:
这种情况很多时候都是jar包冲突了,你看看你的weblogic的jar包和ejb的jar包有没有冲突的