SDK: Fehlermeldung transactionTimestamp does not match the date-time obwohl der Timestamp korrekt ist
Description of the bug:
Obwohl der Timestamp der Bezahlinformationen in den Metadaten den Anforderungen entsprechen und erfolgreich gegen das Schema geprüft werden können meldet das SDK einen Schemafehler.
Die folgenden Metadaten
"paymentInformation": {
"transactionReference": "Vorgang xyz",
"paymentMethod": "OTHER",
"paymentMethodDetail": "Zahlart-andere",
"grossAmount": 25.0,
"transactionId": "DUMMY1714983664004",
"transactionTimestamp": "2024-05-06T10:21:04+02:00",
"status": "BOOKED"
}
erzeugen diesen Fehler mit dem SDK
12:45:06.343 [main] ERROR d.f.fitconnect.cli.CommandLineClient Submission metadata does not comply to schema.
dev.fitko.fitconnect.api.exceptions.client.FitConnectSubscriberException: Submission metadata does not comply to schema.
at dev.fitko.fitconnect.client.SubscriberClient.wrapExceptions(SubscriberClient.java:203)
at dev.fitko.fitconnect.client.SubscriberClient.requestSubmission(SubscriberClient.java:101)
at dev.fitko.fitconnect.cli.CommandExecutor.getOneSubmission(CommandExecutor.java:64)
at dev.fitko.fitconnect.cli.CommandLineClient.executeCommand(CommandLineClient.java:82)
at dev.fitko.fitconnect.cli.CommandLineClient.run(CommandLineClient.java:56)
at dev.fitko.fitconnect.cli.CommandLineRunner.main(CommandLineRunner.java:30)
Caused by: dev.fitko.fitconnect.api.exceptions.internal.ValidationException: $.paymentInformation.transactionTimestamp: does not match the date-time pattern must be a valid RFC 3339 date-time
at dev.fitko.fitconnect.core.validation.DefaultValidationService.returnValidationResult(DefaultValidationService.java:429)
at dev.fitko.fitconnect.core.validation.DefaultValidationService.validate2020JsonSchema(DefaultValidationService.java:421)
at dev.fitko.fitconnect.core.validation.DefaultValidationService.validateMetadataSchema(DefaultValidationService.java:151)
at dev.fitko.fitconnect.core.validation.DefaultValidationService.validateMetadata(DefaultValidationService.java:342)
at dev.fitko.fitconnect.core.validation.DefaultValidationService.validateSubmissionMetadata(DefaultValidationService.java:314)
at dev.fitko.fitconnect.core.FitConnectDefaultService.validateSubmissionMetadata(FitConnectDefaultService.java:90)
at dev.fitko.fitconnect.client.subscriber.SubmissionReceiver.validateMetadata(SubmissionReceiver.java:119)
at dev.fitko.fitconnect.client.subscriber.SubmissionReceiver.receiveSubmission(SubmissionReceiver.java:75)
at dev.fitko.fitconnect.client.SubscriberClient.lambda$requestSubmission$2(SubscriberClient.java:101)
at dev.fitko.fitconnect.client.SubscriberClient.wrapExceptions(SubscriberClient.java:201)
Auf der Webseite https://json-schema.org/understanding-json-schema/reference/string#dates-and-times wird gefordert, das die Zeitangabe "date-time" gemäß RFC 3339 angegeben werden müssen, beispielsweise "2024-05-06T10:21:04+02:00". Eine Validierug der Metadaten gegen das Schema in der Version 1.0.0 und 1.2.0 ergibt keine Fehler.
Current behavior:
Trotz korrekter Formatierung des Zeitstempels für einen Bezahlvorgang,bricht der fit-connect-cli.jar Kommandozeilen-Client mit einer entsprechenden Fehlermeldung ab.
Expected behavior:
Eine Fehlermeldung sollte nur erfolgen, wenn tatsächlich ein Fehler vorliegt.
Environments:
Geprüft in TEST, das SDK ist aber unabhängig von der Umgebund
Additional Information:
- Windows
- fit-connect-cli.jar
- Java-SDK
Dependency / relationship to other issues:
Responsible person / team:
Contact persons including contact details:
Screenshots / Logs / Requests:
Komplette Metadaten:
{
"additionalReferenceInfo": {
"x-application": {
"printCiraliId": "http://localhost:8080/govos/portal/a3start/0/api1/schema/63/printcirali",
"configId": "http://localhost:8080/govos/portal/a3start/0/api1/schema/63/cyberman",
"version": "0028",
"objection": ""
},
"x-applicant": {
"login": {
"identifier": "2",
"authorizer": "https://govos.de"
}
},
"senderReference": "GovOS-DEV-1188",
"applicationDate": "2024-05-06",
"x-sender": {
"product": {
"name": "GovOS",
"description": "Governmental Operation System (GovOS)",
"version": "19.3.1-SNAPSHOT",
"manufacturer": {
"name": "FJD Information Technologies AG",
"description": "FJD Information Technologies AG"
}
},
"address": "http://localhost:8080/govos",
"name": "GovOS-DEV",
"description": "Governmental Operating System"
}
},
"publicServiceType": {
"identifier": "urn:de:fim:leika:leistung:67999",
"name": "Test mit Anlagen und normalem Titel",
"description": ""
},
"contentStructure": {
"attachments": [
{
"purpose": "attachment",
"description": "Anlage_1",
"mimeType": "application/pdf",
"attachmentId": "39af96de-84c2-4b5d-a655-add28910c9af",
"hash": {
"type": "sha512",
"content": "fdcc5fce44811cbcb3665c8b2febadebf978e9f3b3cd13b3bcc567e69d8af18faf4d2a28612b9499fc2802e819e60772161264c0cb5abb0538591f4daf252ac6"
}
},
{
"purpose": "attachment",
"description": "Anlage_1_mit_ziemlich_langem_ganz_langen_sehr_langen_noch_längeren_Titel",
"mimeType": "application/pdf",
"attachmentId": "47b3c240-61d4-4b4e-849d-d80c21439490",
"hash": {
"type": "sha512",
"content": "fdcc5fce44811cbcb3665c8b2febadebf978e9f3b3cd13b3bcc567e69d8af18faf4d2a28612b9499fc2802e819e60772161264c0cb5abb0538591f4daf252ac6"
}
},
{
"purpose": "form",
"description": "Antragsformular",
"mimeType": "application/pdf",
"attachmentId": "9052e86b-2176-4e68-9e81-510957c27bcf",
"hash": {
"type": "sha512",
"content": "18b0a38f1dbad5bef11ddf2f9f3b3cd4fcf9e15e7e65863ad9e57b1b1ade7f15982b8c15c9f64ff0bc4b55205c20b3a549c51013c7e26cac6e7ca7550404c157"
}
},
{
"purpose": "attachment",
"description": "Quittung",
"mimeType": "application/pdf",
"attachmentId": "a9e50ccc-5abe-4201-97a0-d53d88998e35",
"hash": {
"type": "sha512",
"content": "21567916c33b8cbe506551b8f934ffddf063d5d4815289c72457a26aac3076478c05461e3da42881fb4e4450ec3dbf7678c49e4c193872c15adec6297a32b918"
}
},
{
"purpose": "attachment",
"description": "Bescheinigung",
"mimeType": "application/pdf",
"attachmentId": "fcdfbff1-3c5e-45ea-9c0a-01c2e8236d85",
"hash": {
"type": "sha512",
"content": "3f7c7e14a1923962a13d48a4e087459814936d0e1a4c5103dc902ab47a4f951e4192d4c2c5df8205bd1552e61f68793f2d880320a825a1bb1e3dfc9aa1fcd102"
}
}
],
"data": {
"submissionSchema": {
"schemaUri": "http://localhost:8080/govos/portal/a3start/0/api1/schema/22/1/schema.json",
"mimeType": "application/json"
},
"hash": {
"type": "sha512",
"content": "1476e87aeb2450e6b6dfa3aa9264a98b93d5d635b99152f0ea6dc2e9211983fc662d0cb7395cdfd43e3d15fd9fd08b0a94acc9a89aa5b754b52cdf0543be6636"
}
}
},
"paymentInformation": {
"transactionReference": "Vorgang xyz",
"paymentMethod": "OTHER",
"paymentMethodDetail": "Zahlart-andere",
"grossAmount": 25.0,
"transactionId": "DUMMY1714983664004",
"transactionTimestamp": "2024-05-06T10:21:04+02:00",
"status": "BOOKED"
}
}
Checklist:
-
Add Severity label -
Add team label -
Related/affected issues/stories/epics linked and explained in the bug issue -
Creation of an automated test -
Bugfix deployed on DEV -
Bugfix tested on DEV -
Bugfix deployed on TEST -
Bugfix tested on TEST (possibly also by the connection project itself) -
Successful fix reported to Team Operations (Teams channel) -
Bugfix deployed on STAGE -
Bugfix tested on STAGE if necessary -
Bugfix deployed on PROD -
Bugfix tested on PROD (possibly also by the connection project itself) -
Final communication by Team Operations if necessary -
Internal documentation was checked and updated if necessary -
External documentation has been checked and updated if necessary -
Updated changelog if necessary