Ошибка 404 при перенаправлении (302) после звонка - PullRequest
0 голосов
/ 30 июня 2018
@POST
@Path("/testmethod")
@CacheControl(maxAge = 1, maxAgeUnit = TimeUnit.DAYS)
@Produces( MediaType.TEXT_HTML)    
public Response TestMethod() throws AppException, ParserConfigurationException,
                SAXException, NullPointerException, JAXBException, ParseException, InvalidKeyException,
                NoSuchAlgorithmException, NoSuchPaddingException, IOException, UnirestException, ClassNotFoundException{
    cxml = "<payload>dummydetails</payload>";
    signature = "393a4c0990746b221cdb";
    HttpResponse<String> response = Unirest.post("http://www.example.com")
                        .field("payload", cxml)
                        .field("signature", signature)
                        .asString();
    int status = response.getStatus();
    if(status==302) {
        String loc = response.getHeaders().getFirst("Location");
        javax.ws.rs.core.Response.temporaryRedirect(uri).build();
    }
    else {
        String json = XmlUtil.xmlToJson(response.getBody());
                     ob=XmlUtil.jsonToObj(json);
                    JSONObject jsonObject = new JSONObject(json);

                    com.ng.perfiosparams.api.model.response.Error error = XmlUtil.jsonToObj(jsonObject.getString("Error"));
                    if (error.getStatementErrorCode() != null) {
                        ReadXml read = new ReadXml();
                        error.setDescription(read.description(error.getStatementErrorCode()));
                    }
                    error.setResponseType(ResponseType.Error);
                return Response.ok(error).build();    
                }
    }

В приведенном выше коде ответ, который я получаю при пост-вызове как 302. Таким образом, он попадет внутрь условия , если , где он должен перенаправить на URL-адрес местоположения из заголовка, но вернет ошибку 404. Может быть из-за истечения сеанса. Можете ли вы помочь мне с этим? Заранее спасибо.

...