diff --git a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java index 52d72cd..e42ad17 100644 --- a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java +++ b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java @@ -9,6 +9,7 @@ import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConversionException; import org.springframework.stereotype.Component; import org.springframework.web.client.RestClient; +import org.springframework.web.client.RestClientException; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; @@ -88,9 +89,10 @@ public class PrestashopClient { // PS may return 404 instead of 200+empty when filter finds no results if (e.getStatusCode() != null && e.getStatusCode().value() == 404) return Optional.empty(); throw e; - } catch (HttpMessageConversionException e) { - // PS 8.x returns {"products": false} instead of {"products": []} when filter has no results - log.debug("PS returned unparseable body for reference filter={}, treating as not found", reference); + } catch (HttpMessageConversionException | RestClientException e) { + // PS 8.x returns {"products": false} instead of {"products": []} when filter has no results. + // Spring 6 RestClient wraps the JSON parse failure in RestClientException. + log.debug("PS returned unparseable body for reference={}, treating as not found: {}", reference, e.getMessage()); return Optional.empty(); } }