Table of Contents

Beskrivelse af de to parallelle skema-strukturer

Oprindeligt forslag

I starten af 1.6.0 udviklingen besluttedes at placere diverse headerelementer i en samlet FMKRequestHeader i SOAP-headeren:

  <soap:Header>
    <FMKHeader>
    ...
    </FMKHeader>
  </soap:Header>
  <soap:Body>
    <Request>
  </soap:Body>

Det samme gjorde sig gældende for det tilsvarende response.

Den detaljerede beskrivelse kan ses her. (Kun for reference! Denne løsning skal ikke implementeres!)

Nyt forslag

Det har efterfølgende vist sig kompliceret at implementere løsningen for mange klienter.

FMK-headeren er derfor blevet begrænset i sit indhold og flyttet til selve request-elementet i soap-bodyen:

  <soap:Header>
    <!-- Løse elementer, der tidligere var i FMKHeaderen-->
  </soap:Header>
  <soap:Body>
    <Request>
      <FMKHeader>
        ...
      </FMKHeader>
      <!-- Resterende request-->
    </Request>
  </soap:Body>

Se den detaljerede beskrivelse her.

Transition

Da den originale løsning allerede er ved at blive implementeret flere steder, så er der et behov for, at FMK kan acceptere begge løsninger i overgangsperioden. Dette skulle muliggøre en smidig overgang fra den gamle til den nye udgave i testmiljøerne.

Det løses ved at udstille 1.6.0 wsdl'en i begge udgaver. De kan fortsat hentes her. Da den nye løsning er den blivende, er denne navngivet uden præ- eller suffix, mens den originale version kaldes “old”. Denne navngivning gælder kun distinktion af folderne. Endpoints og namespace vil forblive uændrede i alt indhold, og skemaerne divergerer ikke i andet indhold.

FMK vil internt tillade at begge skemaversioner anvendes. Hvis et klientsystem kalder med et request, der overholder det originale skema, så vil responset ligeledes blive givet på samme form. Ditto kald med det nye skema.

Fremtiden for headers og ny implementering

Bemærk, at det vil være udgave 2, der bliver den anvendte når FMK 1.6.0 aktiveres i produktion. Det er derfor den, der skal implementeres, hvis man endnu ikke er påbegyndt.

Den originale/“old”-version er KUN tiltænkt de udviklere, der allerede HAR implementeret den originale løsning, frem til implementering af den nye løsning. Denne version vil fortsat fungere i en længere overgangsperiode i testmiljøerne. Den nye løsning vil dog blive et krav på længere sigt.