Formulário não realiza o action do commandbutton quando tenho um picklist no form

Primeiramente bom dia a todos, estou com um problema relacionado ao uso do picklist no meu formulário estou utilizando o glassfish 3.1.2 e primefaces 3.2, já realizei todos os testes possíveis e sempre que coloco um pick list dentro de um form ele não executa o action do command button, realizei diversos testes antes de recorrer a vocês e constatei que o converter está funcionando normalmente verifique se também alguma erro estava ocorrendo no arquivo de logs e constatei que não era já alterei o p:commandbutton para h:commandbutton já alterei a action para actionlistener mas mesmo assim o problema continua não sei mais oq fazer
segue abaixo a minha dialog o converter e o metodo que o action deve chamar.

Dialog

<div xmlns="http://www.w3.org/1999/xhtml"
     xmlns:f="http://java.sun.com/jsf/core"
     xmlns:h="http://java.sun.com/jsf/html"
     xmlns:p="http://primefaces.org/ui">
    <p:outputPanel id="insertExit" layout="block">
        <p:dialog resizable="false" rendered="#{pageManager.exitIsActive}" id="insertExitDialog" header="Cadastrar de saída" widgetVar="insertExitDialog" modal="false">
            <h:form id="insertExitForm">
                <p:pickList rendered="#{visitaTecnicaController.renderServiceOrderPickList}" id="pojoPickList" value="#{visitaTecnicaController.orders}" var="serviceOrder" itemValue="#{serviceOrder}" itemLabel="#{serviceOrder.numero}" converter="ordemDeServicoConverter">  

                    <f:facet name="sourceCaption">Disponíveis</f:facet>  
                    <f:facet name="targetCaption">Selecionadas</f:facet>  


                    <p:column style="width:75%;">  
                        #{serviceOrder.numero}  
                    </p:column>  

                </p:pickList>  
                <p:commandButton value="Salvar" action="#{visitaTecnicaController.salvar}" />
            </h:form>
        </p:dialog>
    </p:outputPanel>
</div>

Converter

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

import br.com.visaonet.controllers.OrdemDeServicoController;
import br.com.visaonet.entities.OrdemDeServico;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

/**
 *
 * @author diego
 */
@FacesConverter(value = "ordemDeServicoConverter", forClass = OrdemDeServico.class)
public class OrdemDeServicoConverter implements Converter {

    @Override
    public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
        if (value == null || value.length() == 0 || value.equals("null")) {
            return null;
        }
        OrdemDeServicoController controller = (OrdemDeServicoController) facesContext.getApplication().getELResolver().
                getValue(facesContext.getELContext(), null, "ordemDeServicoController");
        OrdemDeServico temp = controller.getFacade().find(getKey(value));
        return temp;
    }

    java.lang.Integer getKey(String value) {
        java.lang.Integer key;
        key = Integer.valueOf(value);
        return key;
    }

    String getStringKey(java.lang.Integer value) {
        StringBuilder sb = new StringBuilder();
        sb.append(value);
        return sb.toString();
    }

    @Override
    public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
        if (object == null) {
            return null;
        }
        if (object instanceof OrdemDeServico) {
            OrdemDeServico o = (OrdemDeServico) object;
            return getStringKey(o.getId());
        } else {
            throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + OrdemDeServico.class.getName());
        }
    }
}

Metodos que devem ser chamados



  public String salvar() {
        
            this.updateOsStatusOnInsertExit(tempDualListModel.getTarget());
           
        return "refreshPage";
    }

 public void updateOsStatusOnInsertExit(List<OrdemDeServico> orders) {
        for (OrdemDeServico ordemDeServico : orders) {
            ordemDeServico.setStatus(ServiceOrderStatus.ALOCADA.getValue());
            getEjbFacadeOrdemDeServico().edit(ordemDeServico);
        }
    }

Bom dia amigo,

ajax=“false” no commandButton, não funcionaria?

[]'s