Se funcionar a contento para vc., lembre-se de não ficar com todo o crédito ;^)
Requisitos:
maven 1.0.2
acesso http para o site da ECT
[/quote]
Olá eu tentei compilar seu codigo porém faz uma referencia a
Search.Microsoft.QueryProcessorSoapStub binding;
URL endpoint = new URL(consultaCepURL);
binding = (Search.Microsoft.QueryProcessorSoapStub)
new [b]Search.Microsoft.QueryProcessorLocator().getQueryProcessorSoap/b;
Onde consigo a biblioteca com estes objetos para compilar esta parte do programa?
[quote=eduardosouzas]Boa tarde, Gostaria de saber se eh possivel eu utilizar esse componente com NETBEANS
Desde já muito obrigado[/quote]
Não sou usuário do NetBeans, mas não vejo motivo pelo qual isto não seria possível.
Crie o jar usando o maven e, como resultado, vc. terá um jar. Coloque-o (bem como suas dependências) no classpath e vc. deve ser capaz de usar o componente.
A exceção ocorre pois o correio o teste unitário em questão assume que este método específico deve retornar algo válido - afinal, é um teste de um CEP válido.
Se vc. quiser, rode maven -Dmaven.test.skip=true para gerar o jar
[quote=mhinz]Azar hoje que eu estou testando o site entra em manutenção.
Atenciosamente.[/quote]
De qq forma foi bom para testar em uma situação destas. Aproveitei para melhorar o tratamento de erro no código e vou gerar uma versão 1.1 com as melhorias.
Quanto à disponibilidade do serviço, é algo que não dá para controlar. Em sistemas internos este componente é utilizado para alimentar um cache. Em um cenário típico, os CEPs vão se acumulando com o tempo e você dependerá menos e menos do serviço on-line.
Gostaria de saber se eu posso usar o componente de consulta de ceps o consultacep-1.1 desenvolvido pela LightHouse em projetos na minha empresa? se existe algum custo ou algum tipo de licença de uso ou proteção WebService e seus dados?
Segue minha contribuição ao projeto, eu tenho proxy http com autenticação na empresa onde testei o componente, se você também tiver proxy http, adicione estas linha no inicio do metodo main() ou do método que deseja chamar. Estas linhas adicionam propriedades a JVM e a Biblioteca AXIS antes de conectar ao WEBSERVICE usa estas variaveis para conectar.
Não tem custo, apenas não pode tirar o direito autoral do Philipe no inicio do fontes.
Quando aos dados do correios também não a custo neste caso, pois você esta usando um serviço público. http://www.correios.com.br/parcerias/cep/office2003/default.cfm
O problema é que este servico pode sair do ar e você não tem suporte. Se for para uma empresa talvés seja interessante contratar o webservice, ai você pagando tem suporte.
[quote=mhinz]Não tem custo, apenas não pode tirar o direito autoral do Philipe no inicio do fontes.
[/quote]
Só completando: nos termos em que tornei disponível o componente, você pode, sim, dizer que foi você quem fez. Não é simpático nem ético, mas pode - a questão é se vão acreditar ;^)
Pessoal não utilizei o maven porque ele não esta conseguindo baixar os arquivos … parece que a versao 1.x.x não redireciona as pesquisas para o novo site que esta ativo.
De qualquer forma eu importei para o eclipse e tudo esta compilando e rodando. Estou enfrentando o problema abaixo, a linha responsavel pela execao e a do metodo query do objeto binding conforme listei mais abaixo. Alguma dica ?
lighthouse.comp.cep.ConsultaCepException: excecao remota
at lighthouse.comp.cep.ConsultaCep.consulta(ConsultaCep.java:191)
at pegaCEP.main(pegaCEP.java:7)
Caused by: (503)Service Unavailable
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
…
…
String q = MessageFormat.format(queryFormat,new Object[] {cep});
String value = binding.query(q);
…
…
catch(RemoteException e ) {
throw new ConsultaCepException(“excecao remota”,e);
}
…
Esse serviço vive indisponível. Para garantia da funcionalidade, monte sua própria base de dados extraindo as informações da base dos correios… como? Consultando o site via robô.
Também precisa ser feita uma rotina de atualização de tempos em tempos.