Alguem sabe como fazer ??? como encontrar verificar via JAVA nos correios c um CEP é valido ??
Pronto, segue abaixo, a minha solução, em 2 formatos,
1° em Query String funciona em sua plenitude, e não se faz necessário nenhuma biblioteca adcional, funciona apenas com as APIs basicas do java
2° em XML onde se faz necessario o uso das bibliotecas dom4j-1.6.1.jar, contida na pasta lib
utiliza para consulta o site => http://www.republicavirtual.com.br/cep/exemplos.php
exemplo de usoimport org.lavieri.modelutil.cep.WebServiceCep;
import org.lavieri.modelutil.cep.CepSearchEngineByQueryString;
/**
* Teste via Query String
* @author Tomaz Lavieri
*/
public class TesteQueryString {
public static void main(String[] args) {
//Faz a busca para o cep 13.345-325
//A ferramenta de busca ignora qualquer caracter que não seja número.
WebServiceCep cep = CepSearchEngineByQueryString.searchCep("13.345-325");
//Apenas o procedimento acima é necessario para obter os dados do site.
//...
//Imprimindo as informações dentro da variavel cep no console.
//caso a busca ocorra bem, imprime os resultados.
if (cep.wasSuccessful()) {
System.out.println("Cep: "+cep.getCep());
System.out.println("Logradouro: "+cep.getLogradouroFull());
System.out.println("Bairro: "+cep.getBairro());
System.out.println("Cidade: "+
cep.getCidade()+"/"+ cep.getUf());
//caso haja problemas imprime as exceções.
} else {
System.out.println("Erro número: " + cep.getResulCode());
System.out.println("Descrição do erro: " + cep.getResultText());
if (cep.getException() != null)
cep.getException().printStackTrace() ;
}
}
}
package org.lavieri.modelutil.cep;
/**
* Interface de consulta contendo os dados encapsulados da busca no site
* <a href="http://www.republicavirtual.com.br"
* target="_blank">republicavirtual.com.br</a>.
* <BR>
* <BR>Consulte as classes de <i>Search Engine</i> {@link CepSearchEngineByQueryString}
* e {@link CepSearchEngineByXML}, para saber como recuperar os
* dados do CEP do site.
* <BR>
* <BR>Last Revision: 01/10/2009 (US Data)
*
* @see CepSearchEngineByQueryString
* @see CepSearchEngineByXML
* @see SearchEngineResults
* @author Tomaz Lavieri
* @since 01/10/09
* @version 1.01
*/
public interface WebServiceCep {
/**
* {@link SearchEngineResults} contendo o resultado da operação, de onde pode-se
* consultar tanto a msg do resultado, como o seu código. Use os métodos
* {@link SearchEngineResults#getCode()} e {@link SearchEngineResults#getMessage()}
* para a consulta.
* @return {@link SearchEngineResults} contendo o resultado da operação.
*/
public SearchEngineResults getResult();
/**
* Informa o código do resultado da pesquisa.
* <BR>Códigos conhecidos:
* <BR><tt>-1</tt> : busca não realizada
* <BR><tt>0</tt> : cep não encontrado
* <BR><tt>1</tt> : cep econtrado
* <BR><tt>-14</tt> : Site não encontrado (pode ser por problemas na internet).
* <BR><tt>-15</tt> : Não foi possivel ler o documento xml
* <BR><tt>-16</tt> : Erro na formação da url
* <BR><tt>-17</tt> : Erro inesperado
*
*
* @return <tt>int</tt> Código do resultado.
*/
public int getResulCode();
/**
* Informação textual sobre o resultado da pesquisa
* @return {@link String} contendo a descrição do resultado da pesquisa.
*/
public String getResultText();
/**
* Informa se o cep foi encontrado com sucesso.
* @return <tt>true</tt> - caso a pesquisa ache um resultado no banco.
* <BR><tt>false</tt> - caso haja falhas, ou o cep enviado não esteja
* cadastrado.
*/
public boolean wasSuccessful();
/**
* Informa se não existe o cep cadastrado.
* @return <tt>true</tt> - Caso o cep não tenha cido encontrado.
* <BR><tt>false</tt> - Caso haja falhas, ou caso o cep esteja cadastrado.
*/
public boolean isCepNotFound();
/**
* Informa se houve falhas na busca do cep
* @return <tt>true</tt> - Caso ocorra falhas
* <BR><tt>false</tt> - Caso não haja falhas.
*/
public boolean hasException();
/**
* Pega a exceção que ocorreu durante a busca, retorna null caso não haja exceções.
* @return <tt>{@link Exception}</tt> - Caso ocorra falhas
* <BR><tt>null</tt> - Caso não haja falhas.
*/
public Exception getException();
/**
* Informa o bairro
* @return {@link String} contendo o nome bairro
*/
public String getBairro();
/**
* Informa a cidade
* @return {@link String} contendo o nome da Cidade
*/
public String getCidade();
/**
* Informa a Unidade Federativa
* @return {@link String} contendo o nome da Unidade Federativa
*/
public String getUf();
/**
* Informa o logradouro.
* @return {@link String} contendo o nome do Logradouro
*/
public String getLogradouro();
/**
* Informa o logradouro junto com o tipo de logradouro.
* @return {@link String} contendo o tipo de Logradouro + nome do Logradouro.
*/
public String getLogradouroFull();
/**
* Informa o tipo do logradouro.
* @return {@link String} contendo o tipo de logradouuro.
*/
public String getLogradouroType();
/**
* Informa o cep.
* @return {@link String} contendo o cep.
*/
public String getCep();
}