Erro ao iniciar aplicação EJB utilizando InitialContext

2 respostas
paulofafism

Pessoal ja tem alguns dias que estou tentando resolver este problema mais não consigo. Procuro no google sempre acho as mesmas respostas.

Estou construindo uma aplicação utilizando GlassFish + EJB + Hibernate + SQL Server + Swing

Toda vez que executo a aplicação é me retornando um erro. Mas tem um seguinte detalhe esse erro só acontece na minha máquina. Instalei o GlassFish em mais 5 maquinas e executei minha aplicação é funcionou perfeitamente inclusive chamando a aplicação remotamente.

Agora quando configuro minha máquina como servidor da aplicação o serguinte erro é retornando:

Alterei as configurações necessárias no Administrador do GlassFish e nada

13/05/2009 10:38:15 com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: ramal34.dvallone.com; port: 3713"
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
        at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2690)
        at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2711)
        at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:261)
        at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:274)
        at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:130)
        at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:192)
        at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:181)
        at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:325)
        at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
        at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
        at com.sun.enterprise.naming.SerialContext.narrowProvider(SerialContext.java:134)
        at com.sun.enterprise.naming.SerialContext.getCachedProvider(SerialContext.java:259)
        at com.sun.enterprise.naming.SerialContext.getRemoteProvider(SerialContext.java:204)
        at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:159)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:409)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at com.sun.enterprise.util.Utility.lookupObject(Utility.java:145)
        at com.sun.enterprise.ServerConfiguration.<init>(ServerConfiguration.java:96)
        at com.sun.enterprise.ServerConfiguration.getConfiguration(ServerConfiguration.java:80)
        at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.createTransactionManager(J2EETransactionManagerImpl.java:294)
        at com.sun.enterprise.appclient.AppContainer.initializeNaming(AppContainer.java:207)
        at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:364)
        at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
        at com.sun.enterprise.appclient.Main.main(Main.java:200)
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
        at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:347)
        at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:244)
        ... 21 more
Caused by: java.net.ConnectException: Connection refused: connect
        at sun.nio.ch.Net.connect(Native Method)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:507)
        at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:105)
        at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:332)
        ... 22 more
Este é código que inicia a aplicação
protected void startup(){                
        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");                
        props.setProperty("org.omg.CORBA.ORBInitialHost" , "192.168.15.34");
        props.setProperty("org.omg.CORBA.ORBInitialPort" , "3713");

        try{
            ctx = new InitialContext(props);
            oberonRemote = (JOberonUtilRemote) ctx.lookup("ejb/JOberonUtilBean");
            oberonRemote.startup();
        }catch(NamingException ex){
          // log.error("Teste", ex);
             JOptionPane.showMessageDialog(null, ex.getMessage());
        }catch(Exception ex){
          // log.error("Teste", ex);
             JOptionPane.showMessageDialog(null, ex.getMessage());
        }
}

Alguém tem alguma ideia do que pode ser

2 Respostas

rodrigo.ferreira

Bom dia, tudo bem?

Provavelmente a porta do IIOP/CORBA Listener do seu Glassfish é diferente de “3713”.

Você define a porta nesta instrução:

props.setProperty("org.omg.CORBA.ORBInitialPort" , "3713");

Você pode verificar/alterar a porta do Listener IIOP (EJB) no Admin Console do Glassfish. Do lado esquerdo, em “Common Tasks”, localize “Configuration->ORB->IIOP Listeners->orb-listener-1” e visualize a informação “Listener Port:”. É esta porta que deve ser utilizada para obter o contexto JNDI do seu servidor.

Nas outras máquinas funcionam por que a porta está correta. Porém na sua, a porta deve ser outra.

Abraço,

Visite o Blog do Perereca: http://www.blogdoperereca.blogspot.com

paulofafism

Você pode verificar/alterar a porta do Listener IIOP (EJB) no Admin Console do Glassfish. Do lado esquerdo, em “Common Tasks”, localize “Configuration->ORB->IIOP Listeners->orb-listener-1” e visualize a informação “Listener Port:”. É esta porta que deve ser utilizada para obter o contexto JNDI do seu servidor.

Eu já tinha visto essa parte da configuração onde defino o IP da máquina é a porta. A porta esta justamente essa 3713.

Criado 13 de maio de 2009
Ultima resposta 13 de mai. de 2009
Respostas 2
Participantes 2