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
+ }
}
}