Erro no SelectOneMenu.retorno Null

Olá pessoal.Estou com um problema e gostaria de uma ajuda de voces.O erro é que meu combox combox (selectOneMenu ) está retornando erro de vazio.

Segue as classes


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.sistemajuridico.entity;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author Andrei
 */
@Entity
@Table(name = "naturezas_acao")
@NamedQueries({@NamedQuery(name = "NaturezasAcao.findAll", query = "SELECT n FROM NaturezasAcao n"), @NamedQuery(name = "NaturezasAcao.findByIdNaturezasAcao", query = "SELECT n FROM NaturezasAcao n WHERE n.idNaturezasAcao = :idNaturezasAcao"), @NamedQuery(name = "NaturezasAcao.findByDescricao", query = "SELECT n FROM NaturezasAcao n WHERE n.descricao = :descricao"), @NamedQuery(name = "NaturezasAcao.findByFlagAtivo", query = "SELECT n FROM NaturezasAcao n WHERE n.flagAtivo = :flagAtivo")})
public class NaturezasAcao implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idNaturezas_Acao")
    private Integer idNaturezasAcao;
    @Basic(optional = false)
    @Column(name = "Descricao")
    private String descricao;
    @Column(name = "Flag_Ativo")
    private Character flagAtivo;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idNaturezasAcao")
    private Collection<TiposAcao> tiposAcaoCollection;

    public NaturezasAcao() {
    }

    public NaturezasAcao(Integer idNaturezasAcao) {
        this.idNaturezasAcao = idNaturezasAcao;
    }

    public NaturezasAcao(Integer idNaturezasAcao, String descricao) {
        this.idNaturezasAcao = idNaturezasAcao;
        this.descricao = descricao;
    }

    public Integer getIdNaturezasAcao() {
        return idNaturezasAcao;
    }

    public void setIdNaturezasAcao(Integer idNaturezasAcao) {
        this.idNaturezasAcao = idNaturezasAcao;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Character getFlagAtivo() {
        return flagAtivo;
    }

    public void setFlagAtivo(Character flagAtivo) {
        this.flagAtivo = flagAtivo;
    }

    public Collection<TiposAcao> getTiposAcaoCollection() {
        return tiposAcaoCollection;
    }

    public void setTiposAcaoCollection(Collection<TiposAcao> tiposAcaoCollection) {
        this.tiposAcaoCollection = tiposAcaoCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idNaturezasAcao != null ? idNaturezasAcao.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof NaturezasAcao)) {
            return false;
        }
        NaturezasAcao other = (NaturezasAcao) object;
        if ((this.idNaturezasAcao == null && other.idNaturezasAcao != null) || (this.idNaturezasAcao != null && !this.idNaturezasAcao.equals(other.idNaturezasAcao))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.com.sistemajuridicoejb.entity.NaturezasAcao[idNaturezasAcao=" + idNaturezasAcao + "]";
    }

}



package br.com.sistemajuridico.sessionBean;

import br.com.sistemajuridico.entity.TiposAcao;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Andrei
 */
@Stateless
public class TiposAcaoFacade implements TiposAcaoFacadeLocal {
    @PersistenceContext
    private EntityManager em;

    public void create(TiposAcao tiposAcao) {
        em.persist(tiposAcao);
    }

    public void edit(TiposAcao tiposAcao) {
        em.merge(tiposAcao);
    }

    public void remove(TiposAcao tiposAcao) {
        em.remove(em.merge(tiposAcao));
    }

    public TiposAcao find(Object id) {
        return em.find(TiposAcao.class, id);
    }

    public List<TiposAcao> findAll() {
        return em.createQuery("select object(o) from TiposAcao as o").getResultList();
    }

    public List listarNaturezasAcao(){
          try{
              Query q=em.createQuery("select n from NaturezasAcao n");
              return q.getResultList();
          }finally {
              em.close();
          }
      }




package br.com.sistemajuridico.sessionBean;

import br.com.sistemajuridico.entity.TiposAcao;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Andrei
 */
@Local
public interface TiposAcaoFacadeLocal {

    void create(TiposAcao tiposAcao);

    void edit(TiposAcao tiposAcao);

    void remove(TiposAcao tiposAcao);

    TiposAcao find(Object id);

    List<TiposAcao> findAll();

    List listarNaturezasAcao();

}




package br.com.sistemajuridicowar.controller;

import br.com.sistemajuridico.sessionBean.TiposAcaoFacadeLocal;
import br.com.sistemajuridico.entity.TiposAcao;
import br.com.sistemajuridico.sessionBean.TiposAcaoFacade;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;

public class TiposAcaoController {

    @EJB
    private TiposAcaoFacadeLocal facade;
    private TiposAcao tiposAcao;
    private DataModel model;

    public String novoTiposAcao() {
        this.tiposAcao = new TiposAcao();
        return "novoTiposAcao";
    }

    public TiposAcao getTiposAcao() {
        return tiposAcao;
    }

    public void setTiposAcao(TiposAcao tiposAcao) {
        this.tiposAcao = tiposAcao;
    }

    public DataModel getTodos()
            throws Exception {

        model =
                new ListDataModel(facade.findAll());
        return model;

    }

    public TiposAcao getTiposAcaoFromEditOrDelete() {
        tiposAcao =
                (TiposAcao) model.getRowData();
        return tiposAcao;
    }

    public String editar() {
        tiposAcao = getTiposAcaoFromEditOrDelete();
        setTiposAcao(tiposAcao);
        return "editarTiposAcao";
    }

    public String excluir()
            throws Exception {
        tiposAcao = getTiposAcaoFromEditOrDelete();
        facade.remove(tiposAcao);
        return "sucessoTiposAcao";

    }

    public String salvar()
            throws Exception {

        if (tiposAcao.getIdTiposAcao() == null) {
            facade.create(tiposAcao);
        } else {
            facade.edit(tiposAcao);
        }
        return "sucessoTiposAcao";
    }

   
    public List <SelectItem>  getBuscarNaturezasAcao(){
          TiposAcaoFacade tiposAcaoFacade=new TiposAcaoFacade();
          Iterator <TiposAcao> lista=tiposAcaoFacade.listarNaturezasAcao().iterator();
          List <SelectItem> listaItens=new ArrayList();
          TiposAcao aux=null;
          while(lista.hasNext()){
              aux=lista.next();
              listaItens.add(new SelectItem(aux.getIdNaturezasAcao(),aux.getDescricao()));
          }
          tiposAcaoFacade=null;

          return listaItens;
      }
   
}




[b]<h:selectOneMenu id="Sele"
                                         required="True"
                                         value="#{tiposAcaoC.tiposAcao.idNaturezasAcao}"
                                         label="OI"
                                         immediate="false"
                         >
                            <f:selectItems value="#{tiposAcaoC.buscarNaturezasAcao}" />
                        </h:selectOneMenu>[/b]