Annotation update issue & Wrong HTTP status code for structure requests - SDMX-RI-1466 - NSI 8.1.2
Submitting first a dataflow with one locale of an annotation text like:
<com:Annotations>
<com:Annotation>
<com:AnnotationType>EXT_RESOURCE</com:AnnotationType>
<com:AnnotationText xml:lang="en">Contact Person|http://www.statistiques.public.lu/en/support/contact/index.php</com:AnnotationText>
</com:Annotation>
<com:Annotation>
<com:AnnotationType>EXT_RESOURCE</com:AnnotationType>
<com:AnnotationText xml:lang="en">Household|http://www.statistiques.public.lu/en/methodology/definitions/H/menage/index.html</com:AnnotationText>
<com:AnnotationText xml:lang="fr">Ménage|http://www.statistiques.public.lu/fr/methodology/definitions/H/menage/index.html</com:AnnotationText>
</com:Annotation>
<com:Annotation>
<com:AnnotationType>EXT_RESOURCE</com:AnnotationType>
<com:AnnotationText xml:lang="en">Reference person|http://www.statistiques.public.lu/en/methodology/definitions/R/personnereference/index.html</com:AnnotationText>
<com:AnnotationText xml:lang="fr">Personne de référence|http://www.statistiques.public.lu/fr/methodology/definitions/R/personnereference/index.html</com:AnnotationText>
</com:Annotation>
</com:Annotations>
(Example file: C1101-Structures_new.xml)
and subsequently uploading the same dataflow with one addtional locale of that annotation text like:
<com:Annotations>
<com:Annotation>
<com:AnnotationType>EXT_RESOURCE</com:AnnotationType>
<com:AnnotationText xml:lang="en">Contact Person|http://www.statistiques.public.lu/en/support/contact/index.php</com:AnnotationText>
<com:AnnotationText xml:lang="fr">Personne de contact|http://www.statistiques.public.lu/fr/support/contact/index.php</com:AnnotationText>
</com:Annotation>
<com:Annotation>
<com:AnnotationType>EXT_RESOURCE</com:AnnotationType>
<com:AnnotationText xml:lang="en">Household|http://www.statistiques.public.lu/en/methodology/definitions/H/menage/index.html</com:AnnotationText>
<com:AnnotationText xml:lang="fr">Ménage|http://www.statistiques.public.lu/fr/methodology/definitions/H/menage/index.html</com:AnnotationText>
</com:Annotation>
<com:Annotation>
<com:AnnotationType>EXT_RESOURCE</com:AnnotationType>
<com:AnnotationText xml:lang="en">Reference person|http://www.statistiques.public.lu/en/methodology/definitions/R/personnereference/index.html</com:AnnotationText>
<com:AnnotationText xml:lang="fr">Personne de référence|http://www.statistiques.public.lu/fr/methodology/definitions/R/personnereference/index.html</com:AnnotationText>
</com:Annotation>
</com:Annotations>
leads to an annotation storage issue, because when trying to retrieve the dataflow artefact, the NSI returns the error "Annotation is not valid".
(Example file: C1101-Structures_old.xml)
Second test case:
Example to reproduce:
- Structure initialisation: OECD_CRS1_1.0_new_structure2.xml
- Structure update that leads to this faulty behaviour: OECD-DF_CRS1-1.0.xml
The structure submit query return the status code "403 Forbidden" even though the user has the rights to submit that structure and the structure upload was done successfully, since the submit action was fully executed and the error message contains:
<?xml version="1.0" encoding="utf-8"?>
<message:Error xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:message="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message">
<message:ErrorMessage code="150">
<common:Text xml:lang="en">Updated : Dataflow OECD:DF_CRS1 (v1.0). Warning : the production status not updated.
Possibly requested backward-incompatible changes cannot be done until the following dependent artefacts have been deleted : Content Constraint OECD:CR_A_DF_CRS1 (v1.0),AUTO_MAP_SET_OECD:DF_CRS1(1.0)_B</common:Text>
</message:ErrorMessage>
</message:Error>
The response should be a "200 OK" instead.
Technical NOTE: This ticket might be linked to the faulty behaviour for data request queries that also wrongly return a "403 Forbidden" status code as described in ticket: #95 (closed)