Erro caracteres especiais web service

03/02/2016

2

Estou com um problema de acentuação ao consumir WebService no Windows
Server.
Tenho apache-tomcat-7.0.63 instalado no windows server 2008, e como SGB,
o PostGres 9.4 e com o Java 8.

Quando consumo o web service pelo netbeans funciona normalmente, porém,
quando consumo diretamente pelo jar, fora do netbeans, gera os caracteres especiais.

[img:descricao=Erro]http://arquivo.devmedia.com.br/forum/imagem/303315-20160203-140947.jpg[/img]


Código do webservice

 @POST
    @Path("cliente/sincronizar")
    @Consumes("application/json;charset=utf-8")
    public Response createClienteInJSON(String param) {
        Gson gson = new Gson();
        ContaCTR contaCTR = new ContaCTR();

        ParamCliente paramCliente = gson.fromJson(param, ParamCliente.class);

        Conta conta = contaCTR.carregar(paramCliente.getToken());

        if (!paramCliente.getClientes().isEmpty() && conta != null) {
            try {
                WsAuxiliar.sincronizarCliente(paramCliente.getClientes(), conta);

                ClienteCTR clienteCTR = new ClienteCTR();
                List<Cliente> clientes = clienteCTR.listar(conta.getContaid(), "codigointerno");
                WsAuxiliar.sincronizarEmail(paramCliente.getEmails(), conta, clientes);
                WsAuxiliar.sincronizarEndereco(paramCliente.getEnderecos(), conta, clientes);
                WsAuxiliar.sincronizarTelefone(paramCliente.getTelefones(), conta, clientes);
            } catch (Exception e) {
                throw new RuntimeException("Falha ao sincronizar Cliente. Erro: " + e.getMessage());
            }
        }
        return Response.status(201).build();
    }



Código do cliente consumindo o web service

   public Retorno sendPostClientes(String token) throws Exception {
    try {
        ParamCliente paramCliente = new ParamCliente();
        paramCliente.carregar();
        paramCliente.setToken(token );

        Gson gson = new Gson();

        String input = gson.toJson(paramCliente);

        URL url = new URL(Configuracao.carregar().getWebserv() + "cliente/sincronizar");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");            

        OutputStream os = conn.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(
                (conn.getInputStream())));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        conn.disconnect();
    } catch (Exception e) {
        return Retorno.criarRetorno(Boolean.TRUE, "Erro ao sincronizar clientes!\n" + e.getMessage());
    }
    return Retorno.criarRetorno(Boolean.FALSE, "Clientes Sincronizado com sucesso!");
}
Responder

Posts

04/02/2016

Fácil Ltda

? ? ? ? ? ?
Responder