ks-no / fiks-matrikkelfoering-specification

0 stars 1 forks source link

Forståelse av klientMeldingId og meldingId #10

Closed jarleborsheim closed 8 months ago

jarleborsheim commented 11 months ago

Det er litt uklart nå i dokumentasjonen og xsd'ene hvordan disse to identifikatorene skal brukes. Spesielt kanskje i status og statussvar meldingene. Status melding tar inn klientMeldingId og svarer i statussvar melding med klientMeldingId og meldingId. Er meldingId i svaret den meldingId'en som man sendte, og får status på? KlientMeldingId kan ha vært sendt inn flere ganger. Dette må vi få avklart og dokumentere enda tydeligere.

torepaul commented 11 months ago

Slik jeg og Øyvind Eid her hadde oppfattet dette har vi antatt det slik: Unik MeldingId opprettes når en melding inneholdende en byggesak sendes fra et byggesakssystem (med FIKS IO) til Matrikkelen for matrikkelføring første gang. Ved senere meldinger angående samme byggesak (med samme saksnummer) sendes samme MeldingsId. Unik KlientMeldingId opprettes ved hver ny melding som sendes. Dette betyr at det opprettes en unik KlientMeldingId når en byggesak sendes første gang og en ny unik KlientMeldingId ved endring for samme byggesak. Denne kan da brukes for å sjekke om en melding er mottatt og for å be om status for behandling.

Kan sikkert være andre oppfatninger her. Derfor viktig at dette er klart definert slik at misforståelser unngås. Det må også sjekkes at det løser alle brukstilfeller.

jarleborsheim commented 11 months ago

Slik jeg og Øyvind Eid her hadde oppfattet dette har vi antatt det slik: Unik MeldingId opprettes når en melding inneholdende en byggesak sendes fra et byggesakssystem (med FIKS IO) til Matrikkelen for matrikkelføring første gang. Ved senere meldinger angående samme byggesak (med samme saksnummer) sendes samme MeldingsId. Unik KlientMeldingId opprettes ved hver ny melding som sendes. Dette betyr at det opprettes en unik KlientMeldingId når en byggesak sendes første gang og en ny unik KlientMeldingId ved endring for samme byggesak. Denne kan da brukes for å sjekke om en melding er mottatt og for å be om status for behandling.

Kan sikkert være andre oppfatninger her. Derfor viktig at dette er klart definert slik at misforståelser unngås. Det må også sjekkes at det løser alle brukstilfeller.

Det er ikke mulig å sende samme MeldingsId igjen slik xsd-skjema for grunnlag er definert nå slik jeg ser det? Ser ikke muligheten for å legge den ved på noen måte i skjema her.

Det er slik at MeldingsId er en id som FIKS IO generer når man sender en melding. Denne får man tilbake som avsender OG mottaker ser den i headeren (se gjerne Fiks-IO dokumentasjonen her). Det er ikke mulig å gjenbruke MeldingId på den måten du beskriver dessverre. Den blir alltid unik når man sender en melding, og er grunnlaget for å vise at en melding evt er et svar på en annen melding. Hvis man ønsker å vise at en grunnlag-melding er en oppfølging av en tidligere grunnlag-melding, så må dette inn i grunnlag-skjema på en eller annen måte tror jeg.

Når det gjelder status for behandling så er jeg enig i deres oppfatning av bruk av KlientMeldingId.

jarleborsheim commented 10 months ago

Konklusjon:

Veldig enkelt forklart så kan du som klient sette KlientMeldingId selv når du sender en melding, men det kan du ikke gjøre med MeldingId. MeldingId blir satt av Fiks-IO når du sender meldingen og vil dermed alltid være unik. Den må være unik da dette er id'en som brukes for å identifisere at en melding er et svar til en annen. Du får MeldingId når du sender meldingen. KlientMeldingId anbefaler vi å bruke ved å sette den når du sender en melding, og hvis du ikke får svar på den meldingen og dermed ønsker å sende meldingen på nytt på et senere tidspunkt, så bruker du samme KlientMeldingId.
Da kan mottaker se ut i fra KlientMeldingId at dette er en duplikat hvis de mottok første melding, men av en eller annen grunn så registrerte dere ikke svaret, eller noe annet gikk galt med svaret.

Se mer om headerene her: https://developers.fiks.ks.no/tjenester/fiksprotokoll/fiksio/#headere-og-properties-i-meldingsutvekslingen