Fitconnect SDK validiert XML fehlerhaft
Zusammenfassung
In der Version 1.0.0-rc1 des Fitconnect SDK (Java) können keine XML-Nachrichten entgegen genommen werden. Der Grund ist, dass das SDK bei der Schema-Validierung keine Unterscheidung zwischen JSON und XML-Inhalten vernimmt und versucht, XML als JSON-Schema zu validieren.
Das schlägt fehl, da die SchemaURI bei XML-Inhalten kein HTTPS-Link (etwa "https://schema.fitko.de/fim/s00000096_1.0.schema.json" wie in der Dokumentation), sondern eine URN ist ( urn:xoev-de:kosit:standard:xgewerbeordnung_1.0 ) Das Verhalten ist bei JSON-Inhalten auch richtig, für XOEV-Nachrichten (oder XML generell) sollte das Schema nicht validiert werden.
Eine (ungetestete) Idee für einen Fix ist ein folgendem git patch zu finden:fitconnect-sdk_xml-validierung
Could not get submission 7334c955-cb21-4ac7-83ad-35f7xxxxxxxx dev.fitko.fitconnect.api.exceptions.client.FitConnectSubscriberException: Submission could not be retrieved at dev.fitko.fitconnect.client.SubscriberClient.wrapExceptions(SubscriberClient.java:140) at dev.fitko.fitconnect.client.SubscriberClient.requestSubmission(SubscriberClient.java:91) at ....... Caused by: dev.fitko.fitconnect.api.exceptions.internal.SchemaNotFoundException: Fetching schema urn:xoev-de:kosit:standard:xgewerbeordnung_1.0 from remote was skipped, since the URI does not support HTTPS. at dev.fitko.fitconnect.core.schema.SchemaResourceProvider.loadSubmissionDataSchema(SchemaResourceProvider.java:129) at dev.fitko.fitconnect.core.validation.DefaultValidationService.validateSubmissionDataSchema(DefaultValidationService.java:190) at dev.fitko.fitconnect.core.validation.DefaultValidationService.validateData(DefaultValidationService.java:270) at dev.fitko.fitconnect.core.SubmissionSubscriber.validateData(SubmissionSubscriber.java:113) at dev.fitko.fitconnect.client.subscriber.SubmissionReceiver.validateData(SubmissionReceiver.java:132) at dev.fitko.fitconnect.client.subscriber.SubmissionReceiver.receiveSubmission(SubmissionReceiver.java:79) at dev.fitko.fitconnect.client.SubscriberClient.lambda$requestSubmission$1(SubscriberClient.java:91) at dev.fitko.fitconnect.client.SubscriberClient.wrapExceptions(SubscriberClient.java:138) ... 36 common frames omitted
Schritte zum Reproduzieren
- Destination mit XML Fachdaten-Schema anlegen
- Submission über Java SDK mit XML Daten senden
Wie verhält sich der aktuelle Fehler?
SchemaNotFoundException: Fetching schema urn:xoev-de:kosit:standard:xgewerbeordnung_1.0 from remote was skipped, since the URI does not support HTTPS
Was ist das erwartete richtige Verhalten?
Für XML-Fachdaten findet keine Schemavalidierung statt.
Akzeptanzkriterien zur Fehlerbehebung
-
Fehler wurde behoben -
Neue SDK-Version veröffentlicht -
Rückmeldung in https://gitlab.opencode.de/fitko/feedback/-/issues/40