Problema com selectOneMenu

Olá colegas

Estou com um problema meio estranho.

Tenho uma página de cadastro de usuário no qual uso ajax do richfaces para popular um “selectOneMenu” de cidades após ter escolhido um estado. Nesta página tenho muitos campos que são de preenchimento obrigatório incluindo estes dois (estado e cidade). Quando mando submter, em que somente os campos (estado e cidade) estão preenchidos. é lançada uma pilha de exceptions.

[quote]javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)

root cause

java.util.NoSuchElementException
javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:119)
javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:146)
javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:51)
javax.faces.component.UISelectOne.matchValue(UISelectOne.java:165)
javax.faces.component.UISelectOne.validateValue(UISelectOne.java:137)
javax.faces.component.UIInput.validate(UIInput.java:875)
javax.faces.component.UIInput.executeValidate(UIInput.java:1078)
javax.faces.component.UIInput.processValidators(UIInput.java:670)
javax.faces.component.UIForm.processValidators(UIForm.java:229)
org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:439)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455)
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
[/quote]

Minha Página está assim:

. . . &lt;h:form&gt; . . . &lt;h:selectOneMenu id="estado" value="#{cadastro.estado}" binding="#{cadastro.htmlSelectOneMenu}"&gt; &lt;f:selectItems value="#{cadastro.selectEstadoOptions}" /&gt; &lt;a4j:support ajaxSingle="true" action="#{cadastro.seletedEstado}" event="onchange" reRender="cidade"/&gt; &lt;/h:selectOneMenu&gt; &lt;span&gt;&lt;h:message for="estado" styleClass="validateMessage"/&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="frm_label" width="194"&gt;<font >*</font>Cidade&lt;/td&gt; &lt;td class="frm_td_dados" id="td_cidade"&gt; &lt;h:selectOneMenu id="cidade" value="#{cadastro.cidade}" required="true" requiredMessage="Campo obrigatório" style="width: 34%;height:25;" disabled="#{cadastro.disableSelectCidadeOptions}"&gt; &lt;f:selectItems value="#{cadastro.selectCidadeOptions}"/&gt; &lt;/h:selectOneMenu&gt; . . . &lt;/h:form&gt; . . .

Se alguém poder me ajudar, por favor!
Estou ficando careca ja!!

reditei para abrir mais facíl

Obrigado.

Primeiro:

Assim que você ficar careca vai saber!

Posta uma parte da classe que é responsavel pelo select e apenas o trecho do HTML que importa, ler tudo aquilo é loucura!

Se eu for chutar alguma coisa, diria que você tem um Lista de SelectItem que está com item nulo!

Problema resolvido!

Eu também achei que era um intem nulo, mas eu procurei e não achei nenhum item nulo.

Para resolver o problema eu fiz isto:

&lt;a4j:region&gt; &lt;h:form&gt; &lt;h:selectOneMenu id="estado" value="#{cadastro.estado}" binding="#{cadastro.htmlSelectOneMenu}"&gt; &lt;f:selectItems value="#{cadastro.selectEstadoOptions}" /&gt; &lt;ajax:support action="#{cadastro.seletedEstado}" event="onchange" reRender="cidade"/&gt; &lt;/h:selectOneMenu&gt; &lt;/h:form&gt; &lt;/a4j:region&gt;

Tive que usar uma tag region do richfaces( essa tag delimita o escopo de processamento) e depois a tag form dentro dela.
Eu ate agora não sei porque tive que usar a tag form. Pelo que eu vi na documentação do richfaces, só a tag region ja resolveria o problema. Eu acho que isso é um bug do richfaces.

Valew amigo.