Help primefaces com ejb

estou começando a trabalhar com jsf e ejb juntos to tentando fazer um simples cadastro de um tippo de animal mas está dando um [color=red] [size=18] erro[/size][/color]que [color=red]chamajavax.ejb.EJBException[/color],
quando eu chamo o methodo [size=18]public void novoTipoAnimal()[/size] em modo debug o cursor passa por dentro do e cria o objeto belezinha[size=18] [color=darkred]mas[/color][/size], quando eu chamo o metodo [size=18]public void adicionarTipoAnimal()[/size] no modo debug não da nada, mas na saida do servidor glassfhis aparece o seguite:

GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=j_idt50, Message=/index.xhtml @82,161 actionListener="#{tipoAnimalController.adicionarTipoAnimal()}": javax.ejb.EJBException GRAVE: /index.xhtml @82,161 actionListener="#{tipoAnimalController.adicionarTipoAnimal()}": javax.ejb.EJBException javax.faces.event.AbortProcessingException: /index.xhtml @82,161 actionListener="#{tipoAnimalController.adicionarTipoAnimal()}": javax.ejb.EJBException

vou colocar meu manegerBean e minha pagina jsf se algem poder me ajudar fico agradecido…

[size=18]manegerBean [/size]

[code]package controller;

import DAO.TipoAnimalFacadeLocal;
import EJB.TipoAnimal;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**

  • @author Danillo
    */
    @ManagedBean
    @SessionScoped
    public class TipoAnimalController implements Serializable{
    @EJB
    private TipoAnimalFacadeLocal dao;

    private TipoAnimal tpanimal = new TipoAnimal();

    public TipoAnimal getTpanimal() {
    return tpanimal;
    }

    public void setTpanimal(TipoAnimal tpanimal) {
    this.tpanimal = tpanimal;
    }

    public void novoTipoAnimal() {
        
       setTpanimal(new TipoAnimal());
    

    }

    public void adicionarTipoAnimal() {
    dao.create(tpanimal);

    }

}[/code]

[size=18]
minha pagina jsf[/size]

[code]<?xml version='1.0' encoding='UTF-8' ?>

Facelet Title
<p:layoutUnit position="west" size="300" header="cadastros"  resizable="true" closable="true" collapsible="true">  
            <h:form prependId="false">
                <p:commandLink value="Novo Estado" actionListener="#{estadoController.novoEstado()}"  oncomplete="dialogEstado.show()"/><br/>
                <p:commandLink value="Nova Cidade" actionListener="#{cidadeController.novaCidade()}"  oncomplete="dialogCidade.show()"/><br/>
                <p:commandLink value="Nova Ação" actionListener="#{acaoController.novaAcao()}"  oncomplete="dialogAcao.show()"/><br/>
                <p:commandLink value="Nova tipo de animal" actionListener="#{tipoAnimalController.novoTipoAnimal()}"  oncomplete="dialogTPanimal.show()"/><br/>
            </h:form>
</p:layoutUnit>  
  
  
<p:layoutUnit position="center">  
   
</p:layoutUnit>  
       
       
     
    
      
    <p:dialog header="Cadatro de tipo de animal" widgetVar="dialogTPanimal"  resizable="false" modal="true" showEffect="slide" width="370">
        <h:form prependId="false">
            <h:panelGrid id="cadtpnaimal" columns="2" style="margin-bottom:10px">

                <h:outputLabel for="acao" value="Acao:" />
                <h:inputText id="tipoAnimal" value="#{tipoAnimalController.tpanimal.tipo}"/>

                <p:commandButton  actionListener="#{tipoAnimalController.adicionarTipoAnimal()}"  value="Salvar tipo"  oncomplete="dialogTPanimal.hide();"/>
            </h:panelGrid>
        </h:form>
    </p:dialog>
       
       
   </p:layout> 
</h:body>

[/code]

se algem poder me dar uma luz do que fazer fico agradecido…