Fórum [JAVA] Como pegar o .wsdl de dentro do projeto - Web Service do Correio para Consulta de CEP #602574
24/05/2019
0
Boa noite pessoal, tudo bem?
Estou no final do projeto do TCC, porém estou com um problema. Eu estou usando o Web Service do Correio para Consulta de CEP (ARQUIVO WSDL) e ele foi importado automaticamente para no netbeans, só coloquei o nome que queria e a URL lá do correio, e ele automaticamente criou as coisas e eu só criei a classe que chama o service. Porém, quando coloquei na Hospedagem, ele ainda aponta para a URL do meu computador (C: Users Rafael Documents NetBeansProjects) etc.... Queria mudar isso, para ele pegar o .wsdl de dentro do projeto
a classe dele, se encontra assim
Essa dúvida foi gerada a partir de um comentário na aula [url:descricao=Navegação entre páginas - Curso Online de JSF (Java Server Faces) - Aula 5]https://www.devmedia.com.br/navegacao-entre-paginas-curso-online-de-jsf-java-server-faces-aula-5/29097[/url]
Estou no final do projeto do TCC, porém estou com um problema. Eu estou usando o Web Service do Correio para Consulta de CEP (ARQUIVO WSDL) e ele foi importado automaticamente para no netbeans, só coloquei o nome que queria e a URL lá do correio, e ele automaticamente criou as coisas e eu só criei a classe que chama o service. Porém, quando coloquei na Hospedagem, ele ainda aponta para a URL do meu computador (C: Users Rafael Documents NetBeansProjects) etc.... Queria mudar isso, para ele pegar o .wsdl de dentro do projeto
a classe dele, se encontra assim
@WebService(serviceName = "AtendeClienteService", portName = "AtendeClientePort", endpointInterface = "br.com.correios.bsb.sigep.master.bean.cliente.AtendeCliente", targetNamespace = "http://cliente.bean.master.sigep.bsb.correios.com.br/", wsdlLocation = "WEB-INF/wsdl/apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente.wsdl")
Essa dúvida foi gerada a partir de um comentário na aula [url:descricao=Navegação entre páginas - Curso Online de JSF (Java Server Faces) - Aula 5]https://www.devmedia.com.br/navegacao-entre-paginas-curso-online-de-jsf-java-server-faces-aula-5/29097[/url]
Rafael
Curtir tópico
+ 0
Responder
Posts
24/05/2019
Rafael
Boa noite pessoal, tudo bem?
Estou no final do projeto do TCC, porém estou com um problema. Eu estou usando o Web Service do Correio para Consulta de CEP (ARQUIVO WSDL) e ele foi importado automaticamente para no netbeans, só coloquei o nome que queria e a URL lá do correio, e ele automaticamente criou as coisas e eu só criei a classe que chama o service. Porém, quando coloquei na Hospedagem, ele ainda aponta para a URL do meu computador (C: Users Rafael Documents NetBeansProjects) etc.... Queria mudar isso, para ele pegar o .wsdl de dentro do projeto
a classe dele, se encontra assim
Essa dúvida foi gerada a partir de um comentário na aula [url:descricao=Navegação entre páginas - Curso Online de JSF (Java Server Faces) - Aula 5]https://www.devmedia.com.br/navegacao-entre-paginas-curso-online-de-jsf-java-server-faces-aula-5/29097[/url]
Estou no final do projeto do TCC, porém estou com um problema. Eu estou usando o Web Service do Correio para Consulta de CEP (ARQUIVO WSDL) e ele foi importado automaticamente para no netbeans, só coloquei o nome que queria e a URL lá do correio, e ele automaticamente criou as coisas e eu só criei a classe que chama o service. Porém, quando coloquei na Hospedagem, ele ainda aponta para a URL do meu computador (C: Users Rafael Documents NetBeansProjects) etc.... Queria mudar isso, para ele pegar o .wsdl de dentro do projeto
a classe dele, se encontra assim
@WebService(serviceName = "AtendeClienteService", portName = "AtendeClientePort", endpointInterface = "br.com.correios.bsb.sigep.master.bean.cliente.AtendeCliente", targetNamespace = "http://cliente.bean.master.sigep.bsb.correios.com.br/", wsdlLocation = "WEB-INF/wsdl/apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente.wsdl")
Essa dúvida foi gerada a partir de um comentário na aula [url:descricao=Navegação entre páginas - Curso Online de JSF (Java Server Faces) - Aula 5]https://www.devmedia.com.br/navegacao-entre-paginas-curso-online-de-jsf-java-server-faces-aula-5/29097[/url]
Consegui resolver, usei outro service e utilizei a classe que faz a requisição apontando para a URL e retorna em JSON.
public static Endereco restCEP(String cep){
if(cep.length() > 8){
String splitOne = cep.substring(0, 2);
String splitTwo = cep.substring(3,6);
String splitThree = cep.substring(7);
cep = splitOne + splitTwo + splitThree;
}
Endereco end = new Endereco();
end.setCep(cep);
Map<String, String> mapaJson = null;
Gson gson = new Gson();
try{
Client client = ClientBuilder.newClient();
WebTarget target = client.target(retornaURLWS(cep));
String resposta = target.request(MediaType.APPLICATION_JSON).get(String.class);
Type type = new TypeToken<Map<String, String>>(){}.getType();
mapaJson = gson.fromJson(resposta, type);
if(mapaJson != null){
end.setBairro(mapaJson.get("bairro"));
end.setCidade(mapaJson.get("localidade"));
end.setUf(mapaJson.get("uf"));
end.setLogradouro(mapaJson.get("logradouro"));
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return end;
}
private static String retornaURLWS(String cep){
StringBuilder retorno = new StringBuilder();
retorno.append("https://viacep.com.br/ws/");
retorno.append(cep);
retorno.append("/json");
return retorno.toString();
}
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)