Que mensagem é essa do EJBException!?

1 resposta
M

to ficando loco com esse erro já, alguém ja recebeu um desses?

ERROR [STDERR] br.unisc.ead.delegate.BusinessDelegateException: EJBException:; nested exception is: javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public abstract br.unisc.ead.ejb.Facade br.unisc.ead.ejb.FacadeHome.create() throws javax.ejb.CreateException,java.rmi.RemoteException 19:00:05,587 ERROR [STDERR] at br.unisc.ead.delegate.BusinessDelegate.<init>(BusinessDelegate.java:44)

ó… eu tenho uma classe de Business Delegate, q procura por um Facade usando um ServiceLocator:

construtor do BusinessDelegate

public BusinessDelegate() throws BusinessDelegateException
	{
		try {
			
			FacadeHome facadeHome = ( FacadeHome ) 
				ServiceLocator.getInstance().
					getRemoteHome( FacadeHome.JNDI_NAME, FacadeHome.FACADE_CLASS );
					
			facade = facadeHome.create();

		} catch ( ServiceLocatorException sl ) {

			sl.printStackTrace();
			throw new BusinessDelegateException( sl.getMessage() );
			
		} catch ( CreateException c ) {
			
			c.printStackTrace();
			throw new BusinessDelegateException( c.getMessage() );
			
		} catch ( RemoteException r ) {

			r.printStackTrace();
			throw new BusinessDelegateException( r.getMessage() );
		} // a linha q o console diz q tem erro é essa
		
	}

método getRemoteHome() do ServiceLocator.java

public EJBHome getRemoteHome( String jndiHomeName, Class className ) throws ServiceLocatorException 
{
	EJBHome home = null;
		
	try { 
			
		if ( cache.containsKey( jndiHomeName ) )
			home = (EJBHome) cache.get(jndiHomeName);
				
		else {         
	
			Object objref = ic.lookup( jndiHomeName );
			Object obj = PortableRemoteObject.narrow( objref, className );
			home = ( EJBHome ) obj;
			cache.put(jndiHomeName, home);
		}
		
	} catch ( NamingException ne ) {
			
		throw new ServiceLocatorException( ne );
			
	} catch ( Exception e ) {
			
		throw new ServiceLocatorException(e);
		}
	return home;
}

interface Home do Facade

package br.unisc.ead.ejb;

import javax.ejb.EJBHome;
import javax.ejb.CreateException;
import java.rmi.RemoteException;

public interface FacadeHome extends EJBHome {
 
   public static final String JNDI_NAME = "ejb/FacadeBean";
   public static final Class FACADE_CLASS = br.unisc.ead.ejb.FacadeHome.class;

   public Facade create() throws RemoteException, CreateException;

}

por fim o método doStuff() pertencente a interface de negocios do FacadeBean, q eu chamo via BusinessDelegate, em um Servlet como cliente:

// isso aqui ta dentro de doGet()
try {

	BusinessDelegate b = new BusinessDelegate();
	
	out.println( "<html>" );
	out.println( b.doStuff() );
	out.println( "</html>" );
		
} catch ( BusinessDelegateException e ) {
		
	e.printStackTrace();
}

…mas o erro tá logo qnd chamo o create() em BusinessDelegate.java, q é aquele lá em cima… to ficando louco com isso já, faço o deploy, o código nao apresenta nenhum erro, mas, qnd chamo o servlet, da esse erro no console do JBoss… HELP!!!

1 Resposta

M

alguééééémmmmmm!!! eu to perdendo o resto dos meus cabelo com issssoooooooooo!!!

:arrg:

Criado 17 de julho de 2004
Ultima resposta 20 de jul. de 2004
Respostas 1
Participantes 1