Olá,
Desenvolvi uma aplicação web com EJB, tudo bem organizado, projeto do EJB, Projeto de CLiente que implementa o padrão Business Delegate, para a chamada dos Session Facades do EJB e o Projeto Web, com toda a camada visual e a chamada do métodos do Business Delegate, porém, chegou o cliente e disse: "Quero as classes de teste do EJB"!!!
Tique que produzir uma classe de teste que fizesse uma chamada ao EJB, escrevi o seguinte código:
@Test
public void testObterTodosEventoFinanceiro()throws Exception {
Hashtable p = new Hashtable();
p.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
p.put(Context.PROVIDER_URL, "iiop://localhost:2809");
Context ctx = new InitialContext(p);
Object obj = ctx.lookup(Constantes.JNDI_HISTORICO);
EventoFinanceiroFacadeHome eventoFacadeHome =
(EventoFinanceiroFacadeHome)obj;
EventoFinanceiroFacade eventoFacade = eventoFacadeHome.create();
EventoFinanceiro[] lista = eventoFacade.getAllEventoFinanceiroObjects();
assertTrue("Ok!", lista.length>0);
}
porém, ao testar não funciona e retorna o seguinte erro:
javax.naming.NamingException: Failed to initialize the ORB [Root exception is org.omg.CORBA.INITIALIZE: Unable to init plugins vmcid: IBM minor code: 504 completed: No]
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:321)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:400)
at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:117)
at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:712)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:171)
at javax.naming.InitialContext.lookup(InitialContext.java:363)
at MatrizBonusBusinessDelegateTeste.testObterTodosEventoFinanceiro(MatrizBonusBusinessDelegateTeste.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.omg.CORBA.INITIALIZE: Unable to init plugins vmcid: IBM minor code: 504 completed: No
at com.ibm.rmi.corba.PluginRegistry.initPlugin(PluginRegistry.java:229)
at com.ibm.rmi.corba.PluginRegistry.initPlugins(PluginRegistry.java:210)
at com.ibm.rmi.corba.PluginRegistry.initPlugins(PluginRegistry.java:216)
at com.ibm.rmi.corba.ORB.initializePlugins(ORB.java:580)
at com.ibm.rmi.corba.ORB.orbParameters(ORB.java:1328)
at com.ibm.rmi.corba.ORB.set_parameters(ORB.java:1215)
at com.ibm.CORBA.iiop.ORB.set_parameters(ORB.java:1681)
at org.omg.CORBA.ORB.init(ORB.java:364)
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:86)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:312)
... 26 more
Caused by: java.lang.NoClassDefFoundError: Invalid Implementation Key, com.ibm.CORBA.iiop.WLMPlugin
at com.ibm.ws.util.ImplFactory.loadClassFromKey(ImplFactory.java:363)
at com.ibm.ws.util.ImplFactory.loadClassFromKey(ImplFactory.java:354)
at com.ibm.ws.wlm.Factory$2.run(Factory.java:98)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at com.ibm.ws.wlm.Factory.loadClass(Factory.java:96)
at com.ibm.ws.wlm.client.WLMClient.init(WLMClient.java:130)
at com.ibm.rmi.corba.PluginRegistry.initPlugin(PluginRegistry.java:224)
... 39 more
Se alguém puder me ajudar, ficarei grato, obrigado!!!

