diff --git a/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema-ident.xml b/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema-ident.xml index a012a32fbf..a0a2c3cc1a 100644 --- a/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema-ident.xml +++ b/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema-ident.xml @@ -149,6 +149,7 @@ Ce schéma est également composé des normes : */cit:protocol/gco:CharacterString = 'FILE' or */cit:protocol/gco:CharacterString = 'DB' or */cit:protocol/gco:CharacterString = 'COPYFILE']" + jsonpath="$['link'][?(@.protocol =~ /(DOWNLOAD|FILE|DB|COPYFILE).*?/i)]" ifNotOperation="download"/> diff --git a/schemas/iso19139/src/main/plugin/iso19139/schema-ident.xml b/schemas/iso19139/src/main/plugin/iso19139/schema-ident.xml index b3bd3bd0bf..14ec15c73b 100644 --- a/schemas/iso19139/src/main/plugin/iso19139/schema-ident.xml +++ b/schemas/iso19139/src/main/plugin/iso19139/schema-ident.xml @@ -89,8 +89,10 @@ of data.]]> diff --git a/services/src/main/java/org/fao/geonet/api/es/EsHTTPProxy.java b/services/src/main/java/org/fao/geonet/api/es/EsHTTPProxy.java index c3f46034ae..9bd9197019 100644 --- a/services/src/main/java/org/fao/geonet/api/es/EsHTTPProxy.java +++ b/services/src/main/java/org/fao/geonet/api/es/EsHTTPProxy.java @@ -35,6 +35,7 @@ import com.google.common.collect.Sets; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; +import com.jayway.jsonpath.PathNotFoundException; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; @@ -902,7 +903,11 @@ private JsonNode filterResponseElements(ObjectMapper mapper, ObjectNode sourceNo for(String jsonPath : jsonPathFilters) { if (StringUtils.isNotBlank(jsonPath)) { - jsonContext = jsonContext.delete(jsonPath); + try { + jsonContext = jsonContext.delete(jsonPath); + } catch (PathNotFoundException ex) { + // The node to remove is not returned in the response, ignore the error + } } }