Article View: es.comp.lenguajes.java
Article #759Aplicacion cliente EJB
From: mrejagui
Date: Tue, 06 Mar 2007 10:01
Date: Tue, 06 Mar 2007 10:01
166 lines
6904 bytes
6904 bytes
Hola:
Estoy desarrollando un proyecto Java mediante NetBeans 5.0 con EJB y
Sun Application Server 9.
(El servidor, la máquina de desarrollo y el cliente Java está en la
misma máquina)
He conseguido implementar en el servidor un EJB de Sesión al cual
puedo acceder desde PHP sin ningún problema.
Mi problema está en que aplicando el mismo código para la página PHP
que accede con éxito al EJB de sesión (adaptado para una aplicación
Java standalone) , no consigo conectar con el EJB desde una aplicación
Java de consola (.JAR). Obtengo el siguiente error (parece un problema
de Stubs):
C:\> appclient -client aplicacionC.jar
Obtener contexto
Localizar EJB
Instanciar objeto
class com.sun.corba.se.impl.corba.CORBAObjectImpl
06-mar-2007 10:53:01 com.sun.corba.ee.impl.util.Utility loadStub
ADVERTENCIA: "IOP01211405: (BAD_OPERATION) Exception in loadStub"
org.omg.CORBA.BAD_OPERATION: vmcid: SUN minor code: 1405
completed: No
at
com.sun.corba.ee.impl.logging.UtilSystemException.exceptionInLoadStub
(UtilSystemException.java:185)
at
com.sun.corba.ee.impl.logging.UtilSystemException.exceptionInLoadStub
(UtilSystemException.java:203)
at com.sun.corba.ee.impl.util.Utility.loadStub(Utility.java:
828)
at
com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject.narrow(PortableR
emoteObject.java:219)
at
javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
at PAQ.Main.main(Main.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:23
2)
at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithMod
uleSupport.java:329)
at com.sun.enterprise.appclient.Main.main(Main.java:180)
Caused by: org.omg.CORBA.BAD_OPERATION: vmcid: SUN minor code: 234
completed:
Maybe
at
com.sun.corba.ee.impl.logging.ORBUtilSystemException.classNotFound2(O
RBUtilSystemException.java:763)
at
com.sun.corba.ee.impl.presentation.rmi.StubFactoryFactoryStaticImpl.c
reateStubFactory(StubFactoryFactoryStaticImpl.java:76)
at com.sun.corba.ee.impl.util.Utility.loadStub(Utility.java:
821)
... 10 more
Caused by: java.lang.ClassNotFoundException:
org.omg.stub.Aplic._EJBRemoteHome_S
tub
at
com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader
.java:674)
at
com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.jav
a:595)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
com.sun.corba.ee.impl.util.JDKBridge.loadClass(JDKBridge.java:75)
at
com.sun.corba.ee.impl.javax.rmi.CORBA.Util.loadClass(Util.java:620)
at
com.sun.corba.ee.impl.presentation.rmi.StubFactoryFactoryStaticImpl.c
reateStubFactory(StubFactoryFactoryStaticImpl.java:73)
... 11 more
Crear objeto
java.lang.NullPointerException
at PAQ.Main.main(Main.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:23
2)
at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithMod
uleSupport.java:329)
at com.sun.enterprise.appclient.Main.main(Main.java:180)
=========================================================
El codigo correspondiente al programa Java que hace de cliente:
package PACK;
import javax.naming.*;
import java.util.*;
import javax.rmi.*;
import Aplic.*;
public class Main {
public static void main(String[] args) {
try {
System.out.println("Obtener contexto");
Context jndiContext = getInitialContext();
System.out.println("Localizar EJB");
Object ref = jndiContext.lookup("ejb/EJBBean");
System.out.println("Instanciar objeto");
Aplic.EJBRemoteHome home = (Aplic.EJBRemoteHome)
PortableRemoteObject.narrow(ref, Aplic.EJBRemoteHome.class);
System.out.println("Crear objeto");
Aplic.EJBRemote sal = home.create();
System.out.println("Voy a llamar al bean");
System.out.println(sal.businessMethod());
System.out.println("Ya he llamado al bean");
sal.remove();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Context getInitialContext() throws
javax.naming.NamingException {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.cosnaming.CNCtxFactory");
p.put(Context.PROVIDER_URL, "iiop://localhost:1583");
return new javax.naming.InitialContext(p);
}
}
=========================================================
¿Alguna pista del por que no puedo conectar desde la aplicación Java
de cliente y no desde la aplicación web?
Gracias
Miguel
Technical Details
Message-ID:
<1173175279.991814.305770@p10g2000cwp.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!p10g2000cwp.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,af92a3ad80093c09,start X-Google-Attributes: gid1116f3,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!p10g2000cwp.googlegroups.com!not-for-mail From: "mrejagui" <miguel.rejano@gmail.com> Newsgroups: es.comp.lenguajes.java Subject: Aplicacion cliente EJB Date: 6 Mar 2007 02:01:20 -0800 Organization: http://groups.google.com Lines: 167 Message-ID: <1173175279.991814.305770@p10g2000cwp.googlegroups.com> NNTP-Posting-Host: 80.32.247.226 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1173175287 713 127.0.0.1 (6 Mar 2007 10:01:27 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 6 Mar 2007 10:01:27 +0000 (UTC) User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: p10g2000cwp.googlegroups.com; posting-host=80.32.247.226; posting-account=-EfPww0AAABhKzxfORaHVEVajBk7Pbfw