From b2eefbd6487f6f280fea70211c6cf9c4b0078fb4 Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 3 Dec 2025 10:42:00 +1100 Subject: [PATCH 1/3] Minor fix on missing pretendUser and fix on html check --- .../aodn/ogcapi/server/core/service/wms/WmsServer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java index d0731fc7..5ed4a0bf 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java @@ -344,7 +344,7 @@ protected List createMapFeatureQueryUrl(String url, String uuid, Feature // This is the normal route UriComponentsBuilder builder = UriComponentsBuilder .newInstance() - .scheme(components.getScheme()) + .scheme("https") .port(components.getPort()) .host(components.getHost()) .path(components.getPath()); @@ -428,15 +428,15 @@ public FeatureInfoResponse getMapFeatures(String collectionId, FeatureRequest re List urls = createMapFeatureQueryUrl(mapServerUrl.get(), collectionId, request); // Try one by one, we exit when any works for (String url : urls) { - ResponseEntity response = restTemplateUtils.handleRedirect(url, restTemplate.getForEntity(url, String.class, Collections.emptyMap()), String.class, pretendUserEntity); + ResponseEntity response = restTemplateUtils.handleRedirect(url, restTemplate.exchange(url, HttpMethod.GET, pretendUserEntity, String.class), String.class, pretendUserEntity); if (response.getStatusCode().is2xxSuccessful()) { // Now try to unify the return if (MediaType.TEXT_HTML.isCompatibleWith(response.getHeaders().getContentType())) { String html = response.getBody(); // This is a simple trick to check if the html is in fact empty body, if empty // try another url - if (html != null && html.contains("
")) { - return FeatureInfoResponse.builder().html(response.getBody()).build(); + if (html != null && (html.contains("class=\"feature\"") || html.contains("class=\"featureInfo\""))) { + return FeatureInfoResponse.builder().html(html).build(); } } else if (MediaType.APPLICATION_XML.isCompatibleWith(response.getHeaders().getContentType())) { FeatureInfoResponse r = xmlMapper.readValue(response.getBody(), FeatureInfoResponse.class); From c70b3f2c9d575f3506db92095a4950370b49f749 Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 3 Dec 2025 11:05:51 +1100 Subject: [PATCH 2/3] Rollback change on hardcode https --- .../au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java index 5ed4a0bf..0af27b77 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java @@ -535,7 +535,7 @@ public List fetchCapabilitiesLayersByUrl(String wmsServerUrl) { // Build GetCapabilities URL UriComponentsBuilder builder = UriComponentsBuilder .newInstance() - .scheme("https") // hardcode to be https to avoid redirect + .scheme(components.getScheme()) // hardcode to be https to avoid redirect .port(components.getPort()) .host(components.getHost()) .path(components.getPath() != null ? components.getPath() : "/geoserver/ows") From 3dc4cef0e19031fbc2b7544558a41781ca92be21 Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 3 Dec 2025 11:17:32 +1100 Subject: [PATCH 3/3] Rollback change on hardcode https --- .../au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java index 0af27b77..703f637b 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/wms/WmsServer.java @@ -344,7 +344,7 @@ protected List createMapFeatureQueryUrl(String url, String uuid, Feature // This is the normal route UriComponentsBuilder builder = UriComponentsBuilder .newInstance() - .scheme("https") + .scheme(components.getScheme()) .port(components.getPort()) .host(components.getHost()) .path(components.getPath()); @@ -535,7 +535,7 @@ public List fetchCapabilitiesLayersByUrl(String wmsServerUrl) { // Build GetCapabilities URL UriComponentsBuilder builder = UriComponentsBuilder .newInstance() - .scheme(components.getScheme()) // hardcode to be https to avoid redirect + .scheme("https") // hardcode to be https to avoid redirect .port(components.getPort()) .host(components.getHost()) .path(components.getPath() != null ? components.getPath() : "/geoserver/ows")