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

Approach/Solution:

Release version of the artifact: