IPF 3.7.4 - extraMetadata values are added twice in the payload

39 views
Skip to first unread message

Alexandru Titirisca

unread,
Oct 12, 2021, 7:18:37 AM10/12/21
to ipf-user
Hello,

We are using IPF 3.7.4 and are trying to add a new slot in the DocumentEntry entry(when registering a new document) with the help of extraMetadata field. The issue is that the generated ITI-42 transaction payload contains the new slot twice and it generates the following error:

org.openehealth.ipf.commons.ihe.xds.core.validate.XDSMetaDataException: Duplicate slot name: urn:e-health-suisse:2020:originalProviderRole

                    <ns2:Slot name="urn:e-health-suisse:2020:originalProviderRole">
                        <ns2:ValueList>
                            <ns2:Value>value</ns2:Value>
                        </ns2:ValueList>
                    </ns2:Slot>
                    <ns2:Slot name="urn:e-health-suisse:2020:TEST">
                        <ns2:ValueList>
                            <ns2:Value>additionalExtraMetadata^^^&amp;test&amp;ISO</ns2:Value>
                        </ns2:ValueList>
                    </ns2:Slot>
                    <ns2:Slot name="hash">
                        <ns2:ValueList>
                            <ns2:Value>e4213991749cc6ef1b19d2e1c7333677e2805815</ns2:Value>
                        </ns2:ValueList>
                    </ns2:Slot>
                    <ns2:Slot name="size">
                        <ns2:ValueList>
                            <ns2:Value>597</ns2:Value>
                        </ns2:ValueList>
                    </ns2:Slot>
                    <ns2:Slot name="urn:e-health-suisse:2020:originalProviderRole">
                        <ns2:ValueList>
                            <ns2:Value>value</ns2:Value>
                        </ns2:ValueList>
                    </ns2:Slot>
                    <ns2:Slot name="urn:e-health-suisse:2020:TEST">
                        <ns2:ValueList>
                            <ns2:Value>additionalExtraMetadata^^^&amp;test&amp;ISO</ns2:Value>
                        </ns2:ValueList>
                    </ns2:Slot>

Could you please check it out?

Best Regards,
Alex.

Dmytro Rud

unread,
Oct 12, 2021, 8:10:15 AM10/12/21
to ipf-user
Hello

Please tell us how you add the extra metadata and which further transformations are performed.  Ideally, prepare a unit test.  It is impossible to analyse the problem without seeing the code.

Best regards
Dmytro

Alexandru Titirisca

unread,
Oct 12, 2021, 8:41:54 AM10/12/21
to ipf-user

Hello,

The code we use to add the extraMetadata to the DocumentEntry(which is part of a ProvideAndRegisterDocumentSet):

DocumentEntry entry = new DocumentEntry();
...
Map<String, List<String>> extraMetadata = new HashMap<>();
String originalProviderValue = authorRoleHcp.getId() + "^^^&" + authorRoleHcp.getAssigningAuthority().getUniversalId() + "&ISO";
extraMetadata.put(ORIGINAL_PROVIDER_METADATA_NAME, Collections.singletonList(originalProviderValue));
entry.setExtraMetadata(extraMetadata);

Then the transformations applied:

ProvideAndRegisterDocumentSetRequestType request = (ProvideAndRegisterDocumentSetRequestType) new ProvideAndRegisterDocumentSetTransformer(
new EbXMLFactory30()).toEbXML(provideAndRegisterDocumentSet).getInternal();


Best Regards,
Alex.

Alexandru Titirisca

unread,
Oct 14, 2021, 5:19:36 AM10/14/21
to ipf-user
Hello Dmytro,

Is the additional information helpful or should we provide more details?

Best Regards,
Alex.

Alexandru Titirisca

unread,
Oct 14, 2021, 1:39:16 PM10/14/21
to ipf-user
Hello Dmytro,

Upon further tests we found out that the extra metadata was not added twice by the IPF library, but by a third party app that was processing the payload.

Best Regards,
Alex.

Dmytro Rud

unread,
Oct 14, 2021, 2:33:07 PM10/14/21
to ipf-...@googlegroups.com
Does this mean that no further action is required from my side?

--
You received this message because you are subscribed to a topic in the Google Groups "ipf-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ipf-user/tCO8AAmNwSs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ipf-user+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ipf-user/964729ad-a4f0-45a0-b0ea-268f9e978f20n%40googlegroups.com.

Alexandru Titirisca

unread,
Oct 18, 2021, 9:40:52 AM10/18/21
to ipf-user
Sorry for the late reply. Yes, no action needed. Thank you.

Thomas Papke

unread,
Oct 18, 2021, 3:00:09 PM10/18/21
to ipf-...@googlegroups.com
Hello Alex & Dmytro,

i assume the third party app was a registry / repository that was processing the request? 
In certain constellation IPF and here the JaxbBinding of the ExtraMetadata was causing the duplication of slots.

I have created an issue for this as well as a test and fix:

Dmytro & Alex, please let me know if you have any remarks to these changes.

Best regards,
Thomas


Von: ipf-...@googlegroups.com <ipf-...@googlegroups.com> im Auftrag von Alexandru Titirisca <atiti...@gmail.com>
Gesendet: Montag, 18. Oktober 2021 15:40
An: ipf-user <ipf-...@googlegroups.com>
Betreff: Re: IPF 3.7.4 - extraMetadata values are added twice in the payload
 
You received this message because you are subscribed to the Google Groups "ipf-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ipf-user+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ipf-user/e00d3e7a-929d-4e2c-9fbc-6e6a1f879f73n%40googlegroups.com.


InterComponentWare GmbH:
Geschäftsführer: Herbert Stöger, Dr. Ralf Brandner
Unternehmenssitz: 69190 Walldorf, Altrottstraße 31
AG Mannheim HRB 740925 / USt.-IdNr.: DE 198388516

Reply all
Reply to author
Forward
0 new messages