[Resolvido]Ajuda EJB Exception

Ola ontem a noite fui atualizar meu sistema e simplesmente o glassfish vem lançando a seguinte exceção: Serverjavax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB, se puderem da uma forcinha, pois não consegui identificar o que possa ser. Trabalho com um Webservice e vi no log do glassfish tambem o seguinte: Exception creating stateless session bean : [Rh] Onde Rh seria meu webservice.

Obs: Meu sistema roda em Flex + JavaEE. Quando tento acessa-lo, ele lança o error 500(Internal Server Error) com a exceção já citada acima.

Segue Log:

javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB 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.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:178) at $Proxy609.executaFuncao(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.glassfish.webservices.InvokerImpl.invoke(InvokerImpl.java:82) at org.glassfish.webservices.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116) at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142) at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116) at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212) at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144) at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162) at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:120) at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:91) at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:200) at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:131) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1002) at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:942) at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:404) at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:354) at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168) at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:523) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:271) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:232) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:337) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:817) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:746) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:939) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:686) at java.lang.Thread.run(Thread.java:662) 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) ... 55 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) ... 57 more Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject Local ejb-ref name=vixsoft.rh.webService.service.Rh/horaExtraBean,Local 3.x interface =vixsoft.rh.moduloInterfaces.interfaces.IHoraExtraBean,ejb-link=HoraExtraBean,lookup=,mappedName=,jndi-name=,refType=Session into class vixsoft.rh.webService.service.Rh: Lookup failed for 'java:comp/env/vixsoft.rh.webService.service.Rh/horaExtraBean' 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) ... 59 more Caused by: javax.naming.NamingException: Lookup failed for 'java:comp/env/vixsoft.rh.webService.service.Rh/horaExtraBean' 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: No object bound for java:comp/env/vixsoft.rh.webService.service.Rh/horaExtraBean [Root exception is java.lang.NullPointerException]] 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:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:599) ... 63 more Caused by: javax.naming.NameNotFoundException: No object bound for java:comp/env/vixsoft.rh.webService.service.Rh/horaExtraBean [Root exception is java.lang.NullPointerException] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:242) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498) ... 67 more Caused by: java.lang.NullPointerException at com.sun.ejb.EJBUtils.resolveEjbRefObject(EJBUtils.java:361) at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:190) 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)

Verifica se vc não esqueceu da anotação

 @Stateless

[quote=tmvolpato]Verifica se vc não esqueceu da anotação

 @Stateless

Não esqueci, está ok! Tanto no EJB do webService quanto nos outros Beans estão todos com a anotação @Stateless.

[quote=Leonan][quote=tmvolpato]Verifica se vc não esqueceu da anotação

 @Stateless

Não esqueci, está ok! Tanto no EJB do webService quanto nos outros Beans estão todos com a anotação @Stateless.[/quote]

cole o código
a parte de cima
desse ejb webservice
qro ver as anotações

[quote=tmvolpato][quote=Leonan][quote=tmvolpato]Verifica se vc não esqueceu da anotação

 @Stateless

Não esqueci, está ok! Tanto no EJB do webService quanto nos outros Beans estão todos com a anotação @Stateless.[/quote]

cole o código
a parte de cima
desse ejb webservice
qro ver as anotações

[/quote]


/**
 * Session Bean implementation class Rh
 */
@Stateless
@WebService  
public class Rh implements IRh {
	@EJB(beanName="AuditoriaBean") private IAuditoriaBean AuditoriaBean;
	@EJB(beanName="JustificativaBean") private IJustificativaBean JustificativaBean;
	@EJB(beanName="MenuBean") private IMenuBean MenuBean;
	@EJB(beanName="EmpresaAcessoBean") private IEmpresaAcessoBean empresaAcessoBean;
	@EJB(beanName="FuncaoBean") private IFuncaoBean funcaoBean;
	@EJB(beanName="RotinaBean") private IRotinaBean rotinaBean;
	@EJB(beanName="TabelaUsuarioBean") private ITabelaUsuarioBean tabelaUsuarioBean;
	@EJB(beanName="PerfilBean") private IPerfilBean perfilBean;
	@EJB(beanName="UnidadeNegocioBean") private IUnidadeNegocioBean unidadeNegocioBean;
	@EJB(beanName="UsuarioUnidadeNegocioBean") private IUsuarioUnidadeNegocioBean usuarioUnidadeNegocioBean;
	@EJB(beanName="CepBean") private ICepBean cepBean;
	@EJB(beanName="EmpresaBean") private IEmpresaBean empresaBean;
	@EJB(beanName="EfetivoBean") private IEfetivoBean efetivoBean;
	@EJB(beanName="FuncionarioBean") private IFuncionarioBean funcionarioBean;
	@EJB(beanName="LocalidadeBean") private ILocalidadeBean localidadeBean;
	@EJB(beanName="RhCcustoBean") private IRhCcustoBean rhCcustoBean;
	@EJB(beanName="TipoDiaBean") private ITipoDiaBean tipoDiaBean;
	@EJB(beanName="UsuarioEmpresaCentroCustoBean") private IUsuarioEmpresaCentroCustoBean usuarioEmpresaCentroCustoBean;
	@EJB(beanName="ParametroHoraExtraBean") private IParametroHoraExtraBean parametroHoraExtraBean;
	@EJB(beanName="ParametrosGeraisBean") private IParametrosGeraisBean parametrosGeraisBean;
	@EJB(beanName="HoraExtraBean") private IHoraExtraBean horaExtraBean;
	@EJB(beanName="FechamentoHoraExtraBean") private IFechamentoHoraExtraBean fechamentoHoraExtraBean;
	@EJB(beanName="SalarioExtraContabilBean") private ISalarioExtraContabilBean salarioExtraContabilBean;
	@EJB(beanName="ParametroDiarioBean") private IParametroDiarioBean parametroDiarioBean;
	@EJB(beanName="ParametroMensalBean") private IParametroMensalBean parametroMensalBean;
	
	@TransactionAttribute(TransactionAttributeType.NEVER)
	public String executaFuncao(@WebParam(name = "rotina") String rotina, @WebParam(name = "funcao") String funcao, @WebParam(name = "pacoteDados") String pacoteDados, @WebParam(name = "pacoteToken")String pacoteToken) {
		if (rotina.equalsIgnoreCase("CADASTRO_TABELA_USUARIO"))
			return tabelaUsuarioBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_USUARIO"))
			return tabelaUsuarioBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_ROTINA"))
			return rotinaBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_FUNCAO"))
			return funcaoBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_EMPRESA_ACESSO"))
			return empresaAcessoBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_PERFIL"))
			return perfilBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_UNIDADE_NEGOCIO"))
			return unidadeNegocioBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_USUARIO_UNIDADE_NEGOCIO"))
			return usuarioUnidadeNegocioBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CONSULTA_CEP"))
			return cepBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_EMPRESA"))   
			return empresaBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_EFETIVO"))
			return efetivoBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_FUNCIONARIO"))
			return funcionarioBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_LOCALIDADE"))
			return localidadeBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_RHC_CUSTO"))
			return rhCcustoBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_TIPO_DIA"))
			return tipoDiaBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_USUARIO_EMPRESA_CENTRO_CUSTO"))
			return usuarioEmpresaCentroCustoBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_PARAMETRO_HORA_EXTRA"))
			return parametroHoraExtraBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_PARAMETROS_GERAIS"))
			return parametrosGeraisBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_HORA_EXTRA"))
			return horaExtraBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_FECHAMENTO_HORA_EXTRA"))
			return fechamentoHoraExtraBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_SALARIO_EXTRA_CONTABIL"))
			return salarioExtraContabilBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_MENU"))
			return MenuBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_JUSTIFICATIVA"))
			return JustificativaBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_AUDITORIA"))
			return AuditoriaBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_PARAMETRO_DIARIO"))
			return parametroDiarioBean.executaFuncao(funcao, pacoteDados, pacoteToken);
		else if (rotina.equalsIgnoreCase("CADASTRO_PARAMETRO_MENSAL"))
			return parametroMensalBean.executaFuncao(funcao, pacoteDados, pacoteToken);

		return "{\"RETORNO\":\"1\", \"MENSAGEM\":\"Rotina não encontrada!\"}";
		//CADASTRO_HORA_EXTRA
	}

}

Com a Interface IRh:

@Local
public interface IRh {
	
	@WebMethod   
	public String executaFuncao(String rotina, String funcao, String pacoteDados, String pacoteToken);
}

Alguem poderia ajuda?

olhe esse post

Após algumas alterações o segundo log de erro dele
é pareciso com o seu

e lá ele conseguiu resolver

http://www.guj.com.br/java/261656-resolvido-erro-ao-fazer-injecao-de-dependencia-ejb

Na verdade seu erro é:[quote]Lookup failed for 'java:comp/env/vixsoft.rh.webService.service.Rh/horaExtraBean[/quote]Verifique o JNDI utilizado para o lookup.

Resolvido, o problema era que adicionei uma lib nova ao projeto e esqueci de adiciona-la na pasta endoserd do glassfish, sendo assim, ele não conseguia encontrar essa lib e não conseguia criar a EJB que utilizava a lib lançando a exceção.