es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La solicitud POST funciona en Postman, pero no correctamente con RestTemplate – SpringBoot.

Estoy usando RestTemplate para obtener el cuerpo de respuesta que ha sido encriptado o no se está mostrando correctamente (hasta ayer funcionaba correctamente, pero hoy este problema surgió sin cambiar ningún código). Pero cuando envío la solicitud a la API con Postman, obtengo el cuerpo de respuesta correcto (en formato XML).

No tengo idea de por qué ocurre esto y cómo es que Postman muestra una respuesta adecuada mientras que RestTemplate muestra otro tipo de respuesta.

Nota: Adjunto una imagen como referencia.

Mi código:

String xml = jaxbObjectToXML(createSRINTOSSet);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();

// crear encabezados
headers.add(“MAXAUTH”, auth);
headers.setContentType(MediaType.TEXT_PLAIN);

Intento:
try {
HttpEntity request = new HttpEntity(xml, headers);
response = restTemplate.postForEntity(maximoIntegrationURI, request, String.class);

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que la API que estás llamando esté utilizando una codificación diferente a la que esperas. También es posible que la API esté esperando un tipo de contenido diferente al que estás enviando.

    Para depurar este problema, puedes tratar de inspeccionar las cabeceras de la solicitud y la respuesta en Postman para ver qué es lo que difiere entre las dos solicitudes. También puedes tratar de establecer el tipo de contenido y la codificación en tu solicitud RestTemplate para que coincida con lo que Postman está enviando.

    Si eso no funciona, puedes tratar de utilizar una biblioteca de cliente HTTP diferente para hacer la solicitud y ver si eso funciona.

Comments are closed.