Ajuda com erro de id no JSF

Olá a todos.
Estou criando minha primeira aplicação com JSF, e estou batendo cabeça aqui para criar um formulário de cadastro de cliente estou recebendo esse erro:

“A ID de componente formCadastro já foi encontrada na visualização.”
Esse é o Stack Trace:

java.lang.IllegalStateException: A ID de componente formCadastro já foi encontrada na visualização. at com.sun.faces.util.Util.checkIdUniqueness(Util.java:821) at com.sun.faces.util.Util.checkIdUniqueness(Util.java:805) at com.sun.faces.application.view.StateManagementStrategyImpl.saveView(StateManagementStrategyImpl.java:140) at com.sun.faces.application.StateManagerImpl.saveView(StateManagerImpl.java:133) at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:619)

E esse é o form:

[code]<?xml version="1.0" encoding="ISO-8859-1" ?>

<ui:composition template="/templates/interna.xhtml">

<ui:define name="titulo">
	Cadastro de Clientes
<h:form id="formCadastro">
		<h:messages />
		<h:inputHidden value="#{clienteBean.cliente.idCliente}" />
		<h:panelGrid columns="2">
			<h:outputLabel value="Nome Cliente:" for="nmEmpresa" />
			<h:inputText id="nmEmpresa" label="Nome Cliente"
				value="#{clienteBean.cliente.nmEmpresa}" size="30" maxlength="30"
				required="true" requiredMessage="Cliente deve possuir um nome.">
				<f:validateLength minimum="10" maximum="30" />
			</h:inputText>

			<h:outputLabel value="Data Início da Licença:" for="dtIniLicenca" />
			<h:inputText id="dtIniLicenca" label="Data Início da Licença"
				value="#{clienteBean.cliente.dtIniLicenca}" size="10"
				maxlength="10" required="true">
				<f:convertDateTime dateStyle="medium" />
			</h:inputText>

			<h:outputLabel value="Data Final da Licença:" for="dtFimLicenca" />
			<h:inputText id="dtFimLicenca" label="Data Final da Licença"
				value="#{clienteBean.cliente.dtFimLicenca}" size="10"
				maxlength="10" required="true">
				<f:convertDateTime dateStyle="medium" />
			</h:inputText>
		</h:panelGrid>
		<h:commandButton action="#{usuarioBean.salvar}" value="Salvar" />
	</h:form>
</ui:define>

</ui:composition>

[/code]

Qualquer dica ficaria feliz já.

Faça uma procura em seu código pela palavra formCadastro.

Você vai ver que ele está sendo utilizado em algum lugar. E esses dois ids estão sendo exibidos na mesma tela.

Como não pode ter id repetido, o JSF dá mensagem de erro.

Confere no teu template (/templates/interna.xhtml) se não tem nenhum componente seu com o id formCadastro, é provavelmente lá que está o componente com o mesmo id e ocasionando o erro

Então a primeira coisa que tentei foi mudar o id antes era cadastro apenas ai mudei para formCadastro.

Aqui esta os meus outros arquivos:

interna.xhtml:

[code]<?xml version="1.0" encoding="ISO-8859-1" ?>

Plano Integrado WEB
Plano Integrado WEB
[/code]

principal.xhtml:

[code]<?xml version="1.0" encoding="ISO-8859-1"?>

Plano Integrado WEB
[/code]

Não encontrei mais nada de id, esse modelo peguei como base num livro que comprei, apenas troquei os campos e as entidades para se adequar ao meu projeto.

Essa classe aqui era o xhml original do livro:

[code]<?xml version="1.0" encoding="ISO-8859-1"?>

<ui:composition template="/templates/interna.xhtml">

<ui:define name="titulo">
	Cadastro de Usuários
</ui:define>

<ui:define name="corpo">
	<h:form id="cadastro">
		<h:messages/>
		<h:inputHidden value="#{usuarioBean.usuario.codigo}"/>
		<h:inputHidden value="#{usuarioBean.usuario.ativo}"/>
		<h:inputHidden value="#{usuarioBean.destinoSalvar}"/>
		
		<h:panelGrid columns="2">
			<h:outputLabel value="Nome:" for="nome"/>
			<h:inputText id="nome" label="Nome" value="#{usuarioBean.usuario.nome}" size="30" maxlength="30" required="true" requiredMessage="Você não tem nome?">
				<f:validateLength minimum="10" maximum="30"/>
			</h:inputText>
			
			<h:outputLabel value="Data Nascimento:" for="data"/>
			<h:inputText id="data" label="Data Nascimento" value="#{usuarioBean.usuario.nascimento}" size="10" maxlength="10" required="true">
				<f:convertDateTime dateStyle="medium"/>
			</h:inputText>
			
			<h:outputLabel value="Celular:" for="celular"/>
			<h:inputText id="celular" label="Celular" value="#{usuarioBean.usuario.celular}" size="10"/>
			
			<h:outputLabel value="e-Mail:" for="email"/>
			<h:panelGroup>
				<h:inputText id="email" 
					label="e-Mail" 
					value="#{usuarioBean.usuario.email}" 
					size="50" maxlength="50" required="true" 
					validatorMessage="e-Mail inválido">
					<f:validateRegex pattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+"/>
				</h:inputText>
				<h:message for="email"/> 
			</h:panelGroup>
			
			<h:outputLabel value="Idioma:" for="idioma"/>
			<h:selectOneMenu id="idioma" value="#{usuarioBean.usuario.idioma}">
				<f:selectItem itemValue="pt_BR" itemLabel="Português"/>
				<f:selectItem itemValue="en_US" itemLabel="English"/>
				<f:selectItem itemValue="es_ES" itemLabel="Espanol"/>
			</h:selectOneMenu>
			
			<h:outputLabel value="Login:" for="login"/>
			<h:inputText id="login" 
			             label="Login" 
			             value="#{usuarioBean.usuario.login}" 
			             size="15" maxlength="15" required="true"
			             validatorMessage="Login deve ter no mínimo 5 e no máximo 15 caracters e só pode ter os simbolos '.' e '_'.">
				<f:validateRegex pattern="([a-z]|[0-9]|[.]|[_]){5,15}"/>
			</h:inputText>

			<h:outputLabel value="Senha:" for="senha"/>
			<h:inputSecret id="senha" label="Senha" value="#{usuarioBean.usuario.senha}" size="10" maxlength="10" required="true" redisplay="true"/>
			
			<h:outputLabel value="Confirmar Senha:" for="confirmarsenha"/>
			<h:inputSecret id="confirmarsenha" label="Confirmar Senha" value="#{usuarioBean.confirmarSenha}" size="10" maxlength="10" required="true" redisplay="true"/>
		</h:panelGrid>
		
		<h:panelGroup rendered="#{empty contextoBean.usuarioLogado}">
			<fieldset><legend>Conta Inicial</legend>
			<h:panelGrid columns="2">
				<h:outputLabel value="Descrição: " for="descricao" />
				<h:inputText id="descricao" label="Descrição" value="#{usuarioBean.conta.descricao}" required="true" maxlength="45" />

				<h:outputLabel value="Saldo Inicial: " for="saldoInicial" />
				<h:inputText id="saldoInicial" value="#{usuarioBean.conta.saldoInicial}" size="10">
					<f:convertNumber minFractionDigits="2" />
				</h:inputText>
			</h:panelGrid>
			</fieldset>
		</h:panelGroup>
					
		<h:commandButton action="#{usuarioBean.salvar}" value="Salvar"/>
	</h:form>
</ui:define>

</ui:composition>

[/code]