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

@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

Rafael

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

@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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar