[RESOLVIDO] Erro ao fazer injeção de dependência EJB

A situação é a seguinte, tenho um módulo EJB chamado OperadoraIntegracao, que tem as entidades e cria o banco de dados.
Tenho outro módulo EJB chamado OperadoraCelular com as regras de negócio. Este último módulo possui o EJB OperadoraIntegracao.

E tenho uma aplicação cliente que é pra acessar o EJB OperadoraCelular. Mas quando executo o cliente dá erro. Já verifiquei a console do Glassfish e o arquivo de log mas não ajudam em nada. Só para constar, já testei os 3 métodos EJB numa aplicação cliente e todos funcionaram. O problema é quando um EJB tem que acessar outro EJB, não sei como fazer. O lookup está correto.

Alguém aí sabe o que possa ser? Vou deixar o erro e os 2 sessionbean e o main do cliente.

Ahh, e outra coisa, eu consigo implantar os dois módulos EJB sem problemas. O erro é quando vou executar o Cliente

Grave: EJB5070: Exception creating stateless session bean : [OperadoraCelularSessionBean]
Advertência: A system exception occurred during an invocation on EJB OperadoraCelularSessionBean method public void br.com.operadora.sessionbean.OperadoraCelularSessionBean.cadastrarCliente(java.lang.String,java.lang.String)
javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
	at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:454)
	at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2528)
	at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1895)
	at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:205)
	at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
	at $Proxy259.cadastrarCliente(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144)
	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174)
	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528)
	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
	at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
	at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:726)
	at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:247)
	at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:449)
	... 22 more
Caused by: javax.ejb.CreateException: Could not create stateless EJB
	at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:534)
	at com.sun.ejb.containers.StatelessSessionContainer.access$000(StatelessSessionContainer.java:95)
	at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:724)
	... 24 more
Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject Remote ejb-ref name=br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean,Remote 3.x interface =br.com.operadora.negocio.sessionbean.DaoSessionBean,ejb-link=null,lookup=,mappedName=,jndi-name=br.com.operadora.negocio.sessionbean.DaoSessionBean,refType=Session into class br.com.operadora.sessionbean.OperadoraCelularSessionBean: Lookup failed for 'java:comp/env/br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:703)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:470)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.java:171)
	at com.sun.ejb.containers.BaseContainer.injectEjbInstance(BaseContainer.java:1691)
	at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:494)
	... 26 more
Caused by: javax.naming.NamingException: Lookup failed for 'java:comp/env/br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException: Exception resolving Ejb for 'Remote ejb-ref name=br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean,Remote 3.x interface =br.com.operadora.negocio.sessionbean.DaoSessionBean,ejb-link=null,lookup=,mappedName=,jndi-name=br.com.operadora.negocio.sessionbean.DaoSessionBean,refType=Session' .  Actual (possibly internal) Remote JNDI name used for lookup is 'br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean' [Root exception is javax.naming.NamingException: Lookup failed for 'br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean not found]]]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:599)
	... 30 more
Caused by: javax.naming.NamingException: Exception resolving Ejb for 'Remote ejb-ref name=br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean,Remote 3.x interface =br.com.operadora.negocio.sessionbean.DaoSessionBean,ejb-link=null,lookup=,mappedName=,jndi-name=br.com.operadora.negocio.sessionbean.DaoSessionBean,refType=Session' .  Actual (possibly internal) Remote JNDI name used for lookup is 'br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean' [Root exception is javax.naming.NamingException: Lookup failed for 'br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean not found]]
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:178)
	at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$EjbReferenceProxy.create(ComponentEnvManagerImpl.java:1106)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
	at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:172)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
	... 34 more
Caused by: javax.naming.NamingException: Lookup failed for 'br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean not found]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:173)
	... 39 more
Caused by: javax.naming.NameNotFoundException: br.com.operadora.negocio.sessionbean.DaoSessionBean#br.com.operadora.negocio.sessionbean.DaoSessionBean not found
	at com.sun.enterprise.naming.impl.TransientContext.doLookup(TransientContext.java:248)
	at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:215)
	at com.sun.enterprise.naming.impl.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:77)
	at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:119)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:505)
	... 43 more

Interface e SessionBean que persiste no banco

package br.com.operadora.service;

import javax.ejb.Remote;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.operadora.negocio.service;

import javax.ejb.Remote;

@Remote
public interface IDao<T> {

    public void persist(Object obj);
}
package br.com.operadora.negocio.sessionbean;

import br.com.operadora.negocio.service.IDao;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless(mappedName = "DaoOperadora")
public class DaoSessionBean<T> implements IDao<T> {

    @PersistenceContext(unitName = "DaoUP")
    private EntityManager manager;

    @Override
    public void persist(Object obj) {
        manager.persist(obj);
    }
}

Interface e SessionBean com as regras de negócio

package br.com.operadora.service;

import javax.ejb.Remote;

@Remote
public interface IOperadoraCelularRemote {

    public void cadastrarCliente(String cpfCliente, String nomeCliente);

    public void cadastrarTelefone(String cpfCliente, String numeroCelular);

    public void inserirCredito(String cpfCliente, String numeroTelefone, double valorACreditar);
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.operadora.sessionbean;

import br.com.operadora.negocio.entity.Celular;
import br.com.operadora.negocio.entity.Cliente;
import br.com.operadora.negocio.entity.Recarga;
import br.com.operadora.negocio.sessionbean.DaoSessionBean;
import br.com.operadora.service.IOperadoraCelularRemote;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author andersonribeiro
 */
@Stateless(mappedName="OperadoraCelular")
public class OperadoraCelularSessionBean implements IOperadoraCelularRemote {

    @EJB
    private DaoSessionBean daoSessionBean;

    @Override
    public void cadastrarCliente(String cpfCliente, String nomeCliente) {
        Cliente cliente = new Cliente();
        cliente.setCpfCliente(cpfCliente);
        cliente.setNomeCliente(nomeCliente);
        daoSessionBean.persist(cliente);
    }

    @Override
    public void cadastrarTelefone(String cpfCliente, String numeroCelular) {
        Cliente cliente = new Cliente();
        Celular celular = new Celular();
        cliente.setCpfCliente(cpfCliente);
        celular.setNumeroCelular(numeroCelular);
        celular.setCliente(cliente);
        daoSessionBean.persist(celular);
    }

    @Override
    public void inserirCredito(String cpfCliente, String numeroTelefone, double valorACreditar) {
        Cliente cliente = new Cliente();
        Celular celular = new Celular();
        Recarga recarga = new Recarga();
        cliente.setCpfCliente(cpfCliente);
        celular.setNumeroCelular(numeroTelefone);
        recarga.setValorCredito(valorACreditar);
        recarga.setCliente(cliente);
        recarga.setCelular(celular);
        daoSessionBean.persist(recarga);
    }
    
}

Aplicação cliente

package br.com.operadora.client;

import br.com.operadora.service.IOperadoraCelularRemote;
import java.util.Scanner;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class Main {

    private Scanner scanner = new Scanner(System.in);
    private IOperadoraCelularRemote iOpCelularRemote;

    public Main() {
        try {
            InitialContext context = new InitialContext();
            iOpCelularRemote = (IOperadoraCelularRemote) context.lookup("OperadoraCelular");
        } catch (NamingException ex) {
            System.out.println("Erro main " + ex);
        }
    }

    public void exibirMenu() {

        System.out.println("________________________________________________________________");
        System.out.println("\n\n| - - - - - - - - - - -  MENU  - - - - - - - - - - - -|");
        System.out.println("|  [0] - SAIR DO SISTEMA                              |");
        System.out.println("|  [1] - CADASTRAR CLIENTE                            |");
        System.out.println("|  [2] - CADASTRAR TELEFONE                           |");
        System.out.println("|  [3] - INSERIR CRÉDITOS                             |");
        System.out.println("| - - - - - - - - - - - - - - - - - - - - - - - - - --|");
        System.out.print("  Opção : ");

    }

    public void chamarOpcao() {

        int opcao;
        String entrada;

        do {

            exibirMenu();

            try {

                entrada = scanner.nextLine();
                opcao = Integer.parseInt(entrada);

                switch (opcao) {

                    case 0:
                        System.out.println("\nVOCÊ SAIU DA APLICAÇÃO!");
                        System.exit(0);
                        break;

                    case 1:
                        cadastrarCliente();
                        break;

                    case 2:
                        cadastrarTelefone();
                        break;

                    case 3:
                        inserirCreditos();
                        break;

                    default:
                        System.out.println("\nOPCÃO INVÁLIDA!");
                        break;

                }

            } catch (NumberFormatException e) {

                System.out.println("________________________________________________________________");
                System.out.println("\nDIGITE SOMENTE NÚMEROS!\n");
                opcao = -1;

            } catch (Exception e) {

                System.out.println("________________________________________________________________");
                System.out.println("ERRO: " + e);
                e.printStackTrace();
                opcao = -1;

            }

        } while (opcao != 0);

    }

    private void cadastrarCliente() {
        System.out.println("\n*****CADASTRAR CLIENTE*****\n");

        System.out.print("DIGITE O CPF DO CLIENTE: ");
        String cpfCliente = scanner.nextLine();
        System.out.print("\nDIGITE O NOME DO CLIENTE: ");
        String nomeCliente = scanner.nextLine();

        iOpCelularRemote.cadastrarCliente(cpfCliente, nomeCliente);

        System.out.println("\nCLIENTE CADASTRADO COM SUCESSO!");
    }

    private void cadastrarTelefone() {
        System.out.println("\n*****CADASTRAR TELEFONE*****\n");

        System.out.print("DIGITE O CPF DO CLIENTE: ");
        String cpfCliente = scanner.nextLine();
        System.out.print("\nDIGITE O NÚMERO DO CELULAR: ");
        String numeroCelular = scanner.nextLine();

        iOpCelularRemote.cadastrarTelefone(cpfCliente, numeroCelular);

        System.out.println("\nTELEFONE CADASTRADO COM SUCESSO!");
    }

    private void inserirCreditos() {
        System.out.println("\n*****INSERIR CRÉDITOS*****\n");

        System.out.print("DIGITE O CPF DO CLIENTE: ");
        String cpfCliente = scanner.nextLine();
        System.out.print("\nDIGITE O NÚMERO DO CELULAR: ");
        String numeroCelular = scanner.nextLine();
        System.out.print("\nDIGITE O VALOR DA RECARGA: ");
        String valorRecarga = scanner.nextLine();

        double valor = Double.parseDouble(valorRecarga);

        iOpCelularRemote.inserirCredito(cpfCliente, numeroCelular, valor);

        System.out.println("\nCRÉDITOS INSERIDOS COM SUCESSO!");
    }

    public static void main(String[] args) {

        new Main().chamarOpcao();
    }
}

Me parece que a própria injeção está errada… você deveria referenciar a interface do SLSB, não a própria implementação.

[]'s

[quote=asaudate]Me parece que a própria injeção está errada… você deveria referenciar a interface do SLSB, não a própria implementação.

[]'s[/quote]

opa asaudate

fiz a alteração, mas o erro persiste.

Antes tava assim

@EJB  
 private DaoSessionBean daoSessionBean;  

mudei para essa

@EJB
private IDao daoSessionBean;

Poste o novo stack trace… com certeza, mudou.

Na maioria das vezes esses erro da console do Glassfish não leva a lugar algum.

taí:

Grave: EJB5070: Exception creating stateless session bean : [OperadoraCelularSessionBean]
Advertência: A system exception occurred during an invocation on EJB OperadoraCelularSessionBean method public void br.com.operadora.sessionbean.OperadoraCelularSessionBean.cadastrarCliente(java.lang.String,java.lang.String)
javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
	at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:454)
	at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2528)
	at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1895)
	at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:205)
	at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
	at $Proxy273.cadastrarCliente(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144)
	at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174)
	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528)
	at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
	at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
	at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
	at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
	at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:726)
	at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:247)
	at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:449)
	... 22 more
Caused by: javax.ejb.CreateException: Could not create stateless EJB
	at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:534)
	at com.sun.ejb.containers.StatelessSessionContainer.access$000(StatelessSessionContainer.java:95)
	at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:724)
	... 24 more
Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject Remote ejb-ref name=br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean,Remote 3.x interface =br.com.operadora.negocio.service.IDao,ejb-link=null,lookup=,mappedName=,jndi-name=br.com.operadora.negocio.service.IDao,refType=Session into class br.com.operadora.sessionbean.OperadoraCelularSessionBean: Lookup failed for 'java:comp/env/br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:703)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:470)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.java:171)
	at com.sun.ejb.containers.BaseContainer.injectEjbInstance(BaseContainer.java:1691)
	at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:494)
	... 26 more
Caused by: javax.naming.NamingException: Lookup failed for 'java:comp/env/br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException: Exception resolving Ejb for 'Remote ejb-ref name=br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean,Remote 3.x interface =br.com.operadora.negocio.service.IDao,ejb-link=null,lookup=,mappedName=,jndi-name=br.com.operadora.negocio.service.IDao,refType=Session' .  Actual (possibly internal) Remote JNDI name used for lookup is 'br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao' [Root exception is javax.naming.NamingException: Lookup failed for 'br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao not found]]]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:599)
	... 30 more
Caused by: javax.naming.NamingException: Exception resolving Ejb for 'Remote ejb-ref name=br.com.operadora.sessionbean.OperadoraCelularSessionBean/daoSessionBean,Remote 3.x interface =br.com.operadora.negocio.service.IDao,ejb-link=null,lookup=,mappedName=,jndi-name=br.com.operadora.negocio.service.IDao,refType=Session' .  Actual (possibly internal) Remote JNDI name used for lookup is 'br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao' [Root exception is javax.naming.NamingException: Lookup failed for 'br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao not found]]
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:178)
	at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$EjbReferenceProxy.create(ComponentEnvManagerImpl.java:1106)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
	at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:172)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
	... 34 more
Caused by: javax.naming.NamingException: Lookup failed for 'br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao not found]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at javax.naming.InitialContext.lookup(InitialContext.java:411)
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:173)
	... 39 more
Caused by: javax.naming.NameNotFoundException: br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao not found
	at com.sun.enterprise.naming.impl.TransientContext.doLookup(TransientContext.java:248)
	at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:215)
	at com.sun.enterprise.naming.impl.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:77)
	at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:119)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:505)
	... 43 more

Dê uma olhada nessa linha:

javax.naming.NameNotFoundException: br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao

Aparentemente, ele está se perdendo para fazer o lookup (mais pra cima, no stack trace, ele também dá a entender que é esse o problema). Tente colocar os atributos mappedName ou jndiName no @EJB.

[]'s

[quote=asaudate]Dê uma olhada nessa linha:

javax.naming.NameNotFoundException: br.com.operadora.negocio.service.IDao#br.com.operadora.negocio.service.IDao

Aparentemente, ele está se perdendo para fazer o lookup (mais pra cima, no stack trace, ele também dá a entender que é esse o problema). Tente colocar os atributos mappedName ou jndiName no @EJB.

[]'s[/quote]

Obrigado pela ajuda asaudate. Fiz as 2 alterações que vc falou e funcionou. O estranho foi que depois que alterei ontem a noite, coloquei pra rodar e continuou dando erro. Hoje pela manhã, liguei o notebook coloquei a aplicação pra rodar e do nada funcionou sem erro algum.

Então, ficou desse jeito

@EJB(mappedName= "DaoOperadora")
    private IDao daoSessionBean;