Objeto atual da lista não atualiza no Managed Bean, por que será?

O código abaixo é meio longo mas preciso para explicar meu problema:

[code]<h:panelGrid width=“600px” columns=“1” border=“0”>
<rich:panel header="#{msg.tituloTarifa}" style=“background-color: #ebf3fd;”>
<h:panelGrid width=“100%” columns=“2” border=“0”>
<h:form id=“formTarifasCadastradas”>

<h:outputLabel for=“tarifas” value=“Tarifas cadastradas:” style=“width:20%” />
<h:selectOneMenu
id=“tarifas”
value="#{tarifaBean.item}"
style=“width:80%”
valueChangeListener="#{tarifaBean.tarifaChanged}"
immediate=“true” >
<f:selectItems var=“tarifa” id=“tarifa” value="#{tarifaBean.listaTarifas}" />
<a4j:support event=“onchange” reRender=“formDados,formValoresAliquotas” />
<f:converter converterId=“ConverterTarifa” />
</h:selectOneMenu>
</h:form>
</h:panelGrid>


<rich:message for=“tarifas” globalOnly=“false”/>

    <a4j:region>
        <rich:tabPanel switchType="client" selectedTab="tab_principal">
            <rich:tab label="Dados Principais" id="tab_principal">
                <a4j:form requestDelay="20" ignoreDupResponses="true" id="formDados">
                    <h:panelGrid width="100%" columns="4" border="0">
                        <h:outputLabel for="tipoCarga" value="Tipo de Carga"/>
                        <h:inputText id="tipoCarga" size="30" value="#{tarifaBean.item.tipoCarga}"
                                     style="width:100%" >
                            <rich:ajaxValidator event="onblur"/>
                        </h:inputText>
                        <rich:message for="tipoCarga" style="color:red" globalOnly="false"/>
                    </h:panelGrid>
                </a4j:form>
            </rich:tab>
        </rich:tabPanel>
    </a4j:region>

  <!-- Nesse botão quando a Action é chamada no BB o objeto (Tarifa), que acabou de ser carregado no formulário em outra outra Action do Combo, aparece como null -->
    <a4j:form>
        <a4j:commandButton
            value="Salvar Tarifa"
            title="Salvar esse cadastro"
            actionListener="#{tarifaBean.salvar}"
            />                    
    </a4j:form>
</rich:panel>

</h:panelGrid>[/code]
Tenho uma lista de de Objetos (tipo Tarifa) e quando um deles é selecionado ele é carregado em um formulário, tenho um botão Salvar que quero que quando clicado a Action salvar seja chamada e o objeto atualizado, porém quando a action é chamada o objeto aparece como null, mas como se ele acabou de carregar no formulário?

Action:

public void salvar(ActionEvent event) { System.out.println("== SALVAR TARIFA VIA HIBERNATE "); System.out.println("Tipo Carga: "+item.getTipoCarga()); // imprime null porém existe um texto para esse campo no formulário }

Já “quebrei a cabeça” tentando descobrir onde foi que errei e porque as propriedades do objeto retornal null quando executo esse Action sendo que as propriedades foram carregadas nos campos, etc.

Se alguém puder dar alguma dica.

Cara, antes de qq coisa, reduza esse seu código para o mínimo possível. Deixe só as colunas realmente necessárias.
O meu FF travou qndo tentei acessar esse topic, pq ele ficou renderizando esse code.

E outra coisa: BB? vc quer atualizar um objeto do Banco de Brasil? =P