Problema com um exemplo de EJB

6 respostas
javaAurelio

Estou fazendo um exemplo EJB
mas Lanca o seguinte:

Exception in thread “main” java.lang.NullPointerException
at EJB.ClienteEJB.main(ClienteEJB.java:21)

TheConverter Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

Estou usando o sevidor da sun Aplication Server 8

6 Respostas

javaAurelio

o 1ª Resovido, o outro agora é :

10/12/2007 09:59:16 com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init> WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 10.10.1.12; port: 900" org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(Unknown Source) at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(Unknown Source) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(Unknown Source) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(Unknown Source) at com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(Unknown Source) at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(Unknown Source) at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.resolve(Unknown Source) at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown Source) at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown Source) at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown Source) at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown Source) at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(Unknown Source) at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(Unknown Source) at com.sun.jndi.cosnaming.CNCtx.<init>(Unknown Source) at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(Unknown Source) at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) at javax.naming.InitialContext.init(Unknown Source) at javax.naming.InitialContext.<init>(Unknown Source) at EJB.ClienteEJB.teste(ClienteEJB.java:43) at EJB.ClienteEJB.main(ClienteEJB.java:18) Caused by: java.net.ConnectException: Connection refused: connect at sun.nio.ch.Net.connect(Native Method) at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) at java.nio.channels.SocketChannel.open(Unknown Source) at com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(Unknown Source) ... 21 more Unable to lookup home: TheConverter Cannot connect to ORB Exception in thread "main" java.lang.NullPointerException at EJB.ClienteEJB.main(ClienteEJB.java:26)

ramilani12

Sera que isso não é suficiente?

kaique

Quais foram as properties ue você setou para incializar o seu Context?

[]'s.

javaAurelio

Tudo:

try {

			Hashtable env = new Hashtable();
			env.put(Context.INITIAL_CONTEXT_FACTORY,
							"com.sun.jndi.cosnaming.CNCtxFactory");

			InitialContext ic = new InitialContext(env);
			Object objRef = ic.lookup("java:comp/env/ejb/TheConverter");
			ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(
					objRef, ConverterHome.class);
			converter = home.create();
		} catch (RemoteException ex) {
			System.out.println("Couldn't create converter bean."
					+ ex.getMessage());
		} catch (CreateException ex) {
			System.out.println("Couldn't create converter bean."
					+ ex.getMessage());
		} catch (NamingException ex) {
			System.out.println("Unable to lookup home: " + "TheConverter "
					+ ex.getMessage());
		}
kaique

Cara, qual o EJB Container que você está usando?
Caso seja o Glassfish (esse eu testei já), tenta configurar assim o seu contexto inicial:

Properties props = new Properties();
        props.setProperty("java.naming.factory.initial",
                "com.sun.enterprise.naming.SerialInitContextFactory");
        props.setProperty("java.naming.factory.url.pkgs",
                "com.sun.enterprise.naming");
        props.setProperty("java.naming.factory.state",
                "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
       CContext ctx = new InitialContext(props);

[]'s…

javaAurelio

Eu estou usando o Sun Aplication Server 8.

Vou tentar…

Criado 10 de dezembro de 2007
Ultima resposta 11 de dez. de 2007
Respostas 6
Participantes 3