User Tools

Site Tools


fmk:1.6.0:xml-elementer:kombineret_loesning

Kombineret løsning for request-/response headers

Det har vist sig kompliceret at implementere det tidligere forslag til FMK headere som en del af soap-headeren. Som følge her af har der været ønske om at implementere en løsning, hvor FMK-headerne kun indeholder en begrænset, udvalgt gruppe elementer ifht. den oprindelige løsning. Derudover flyttes FMK-headerne ned i hhv. requestet/responset i soap-body. Det nye forslag kan ses her.

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. Det løses ved at udvide det samlede request og response til at indeholde begge dele. Obligatoriske elementer gøres valgfri for nu.

Der indføres en validering, der bekræfter at

  • obligatoriske elementer eksisterer på én af de to former (Eksempel: Whitelisting findes enten som en del af FMKRequestHeader ELLER som et frit element i soapheaderen)
  • requestet holder sig til én form, og ikke blander de to løsninger (Eksempel: Hvis whitelistheaderen er defineret som en del af FMKRequestHeader, så er OnBehalfOfHeader ikke defineret som frit element).
  • responset gives tilbage med samme opbygning som requestet (Eksempel: Hvis FMKRequestHeader er placeret i soapheaderen, så returneres det tiltænkte FMKResponseHeader-elementer også i soapheader som beskrevet i den originale løsning, og ikke som en del af responset som den nye løsning).

De sidste to punkter bør sikre, at klienter ikke kommer til at implementere en hybrid mellem de to.

Request header

For original løsning:

  • Alle elementer i FMKRequestHeader i soapheader

For ny løsning

Elementer “frit” i soapHeader:

  • OnBehalfOfHeader
  • WhitelistingHeader
  • ConsentHeader
  • MinLogSessionId
  • PreflightOnly
  • PartOfBatchOperation

Elementer i FMKRequestHeader i request:

  • Paging
  • ExtendedValidationHeader
<soap:Header  ... >
    <!-- Valgfri FMKRequestHeader for original løsning-->
    <FMKRequestHeader minOccurs="0">
        <OnBehalfOfHeader> ... </OnBehalfOfHeader>
        <WhitelistingHeader> ... </WhitelistingHeader>
        <ConsentHeader> ... </ConsentHeader>
        <MinLogSessionId>...</MinLogSessionId>
        <PreflightOnly/>
        <PartOfBatchOperation/>
        <Paging> ... </Paging>
        <ExtendedValidationHeader> ... </ExtendedValidationHeader>
    </FMKRequestHeader>
 
    <!-- Frie elementer for ny løsning, del 1 -->
    <OnBehalfOfHeader minOccurs="0"> ... </OnBehalfOfHeader>
    <WhitelistingHeader minOccurs="0"> ... </WhitelistingHeader>
    <ConsentHeader minOccurs="0"> ... </ConsentHeader>
    <MinLogSessionId minOccurs="0">...</MinLogSessionId>
    <PreflightOnly/ minOccurs="0">
    <PartOfBatchOperation/ minOccurs="0">
</soap:Header>
 
<soap:Body>
    <Request-body>
        <!-- FMKRequestHeader for ny løsning, del 2 -->
        <FMKRequestHeader minOccurs="0">
            <Paging minOccurs="0"> ... </Paging>
            <ExtendedValidationHeader minOccurs="0"> ... </ExtendedValidationHeader>
        </FMKRequestHeader>
        ...
        <!-- Resterende request -->
        ...
    </Request-body>
</soap:Body>

Response header

For original løsning

  • Alle elementer i FMKResponse i soapheader

For ny løsning

Elementer “frit” i soapheader:

  • KnownPersonIdentifiers
  • FMKConfigurationUpdatedWarning

Elementer i FMKResponseHeader i respons:

  • MedicineCardInvalid
  • VersionMismatchWarning
  • HiddenData (privatmarkering)
  • Paging
  • Warnings
  • Informations
    <soap:Header>
    <!-- Valgfri FMKResponseHeader for original løsning-->
            <FMKResponseHeader minOccurs="0">
                <KnownPersonIdentifiers> ... </KnownPersonIdentifiers>
                <FMKConfigurationUpdatedWarning> ... </FMKConfigurationUpdatedWarning>
                <MedicineCardInvalid />
                <VersionMismatchWarning />
                <HiddenData> ... </HiddenData>
                <Paging> ... </Paging>
                <Warnings> ... </Warnings>
                <Informations> ... </Informations>
            <FMKResponseHeader>
 
            <!-- Frie elementer for ny løsning, del 1 -->
            <KnownPersonIdentifier minOccurs="0"> ... </KnownPersonIdentifier>
            <FMKConfigurationUpdatedWarning minOccurs="0">...</FMKConfigurationUpdatedWarning>
    </soap:Header>
 
    <soap:Body>
        <Response>
            <!-- FMKResponseHeader for ny løsning, del 2 -->
            <FMKResponseHeader minOccurs="0">
                <MedicinecardInvalid minOccurs="0"> ...</MedicinecardInvalid>
                <VersionMismatchWarning/ minOccurs="0">
                <HiddenData minOccurs="0"> ...</HiddenData>
                <Paging minOccurs="0"> ...</Paging>
                <Warnings minOccurs="0"> ... </Warnings>
                <Informations minOccurs="0"> ... </Informations>
            <FMKResponseHeader>
            ...
            <!-- Resterende respons -->    
            ...
        </Response>
    </soap:Body>
 
fmk/1.6.0/xml-elementer/kombineret_loesning.txt · Last modified: by andm

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki