1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Requisição Rest resposta 302

Olá!

Estou com seguinte problema na chamada REST (retorno 302). Pelo que verifiquei, esse retorno se trata de um redirecionamento, porém não estou conseguindo identificar a causa do problema, não identifiquei erro em meu código. Quando eu aponto essa requisição para produção, eu tenho esse erro, mas em localhost não. Tenho outras chamadas no sistema, porém somente nessa ocorre esse problema

ERRO No método callService do código 4, meu response.gerStatus() está retornando 302. O valor do Header que veio foi

HTTP/1.1 302 Moved Temporarily [Date: Sat, 12 Dec 2015 15:03:41 GMT, Server: Apache-Coyote/1.1, Location: http://sistema.com.br/sistema/jsp/500.jsp?redirectUrl=/custo, Content-Length: 0, Keep-Alive: timeout=15, max=100, Connection: Keep-Alive, Content-Type: text/plain; charset=UTF-8]

A URL correta passada na requisição é: http://sis.sistemas.br/rest/facade/custo/reverter/processamento

Código 1

public static <T> void executaRequisicaoServico(T object2Json, Map<String,String> header, String nomeServico) throws Exception {
        ClientRequest request = configureClientRequest(nomeServico);
        setHeader(request, header);
        callService(request, serializeObject(object2Json));
    }

Código2

private static ClientRequest configureClientRequest(String nomeServico) {
        String url = UtilRestService.getBaseURLRestService("rest.facade.custos");
        ClientRequest request = new ClientRequest(url.concat(nomeServico));
        request.accept(MediaType.APPLICATION_JSON + ";charset=UTF-8");
        return request;
    }

Código3

private static void setHeader(ClientRequest request, Map<String,String> header) {
        for(Entry<String, String> headerEntry: header.entrySet()) {
            request.header(headerEntry.getKey(), headerEntry.getValue());
        }
    }

Código 4

private static void callService(ClientRequest request, String jsonString) throws Exception {
        request.body(MediaType.APPLICATION_JSON + ";charset=UTF-8", jsonString);
        try {
            ClientResponse<String> response = request.post(String.class);
            if (response.getStatus() != 200) {
                throw new Exception(response.getEntity());
            }
        } catch (Exception e) {
            throw new Exception(e);
        }
    }
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee rest ou faça a sua própria pergunta.