felleslosninger/efm-integrasjonspunkt

«journaldato» i SvarInn-melding konverteres til ugyldig dato i arkivmelding.xml

pcgaustad opened this issue · 6 comments

"journaldato": -62135769600000 i svar fra https://svarut.ks.no/tjenester/svarinn/mottaker/hentNyeForsendelser blir til <journaldato>00-1-12-30+01:00</journaldato> i arkivmelding.xml.

Denne journaldatoen brukes ofte/alltid av Public 360 (sikkert som en plassholder da en journalpost først får en journaldato når den blir journalført, og det vanligvis skjer etter at den er ekspedert).

Uansett fører den ugyldige datoformateringen i arkivmelding.xml til at Elements ikke klarer å importere meldingene. Siden dette gjelder mer eller mindre alle meldinger fra Public 360, er det snakk om en del. :(

Hei @pcgaustad

Takk for beskjed. Me skal sjå på denne og melde tilbake. Skulle det dukke opp anna er det berre å melde.

Det er kjent at integrasjonspunktet i nokon tilfeller genererer ugyldige arkivmeldingar og det vil bli utbetra.

Det at -62135769600000 dukker opp som ein "standard" placeholder for dato er ikkje dokumentert hos KS, så det er sannsynligvis avsendande system som oppgir denne verdien ved bruk av KS SvarUt.

Stemmer det at forventa journaldato i arkivmelding.xml for verdien -62135769600000 er: 0000-12-30+01:00 ?

Ja, det ser ut til å være en standardinnstilling i Public 360, da dette hittil har vært avsendersystemet for alle slike meldinger. Som nevnt har en journalpost som regel ingen journaldato når den blir ekspedert, så her har nok hver leverandør valgt sin egen løsning.

Forventet journaldato: Med java.util.Date og java.text.SimpleDateFormat er resultatet hos meg to dager senere: 0001-01-01 GMT+01:00 (ikke ISO-formatert). År 0000 er ugyldig i XML-skjema, jf. https://www.w3.org/TR/xmlschema-2/#noYearZero.

Jeg vil si at det ikke er viktig akkurat hvilken dato dere lander på, bare den er gyldig. Da er det kanskje greit med 0001-01-01?

Vi har verifisert at dette er ein reell feil.

Feilen er i biblioteket som brukes ved serialisering til XML og er beskrevet på javaee/jaxb-v2#1191

Vi ser på om nyere versjoner utbedrer feilen og hvorvidt foreslått workaround fungerer tilfredsstillende

Vi har ikkje nokon enkel måte å bøte på problemet på, på kort sikt, så vi må gå for ein workaround.

Vi setter datoer som er satt før 0001-01-01 til 0001-01-01. Det burde jo strengt tatt ikkje være behov for journaldatoer fra før moderne tidsregning, men me forstår at det har blitt valgt brukt av enkelte løsninger som ein slags placeholder.

Workaround blir innført med versjon 2.8.3 av integrasjonspunktet