This is an old revision of the document!
Table of Contents
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 (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 (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 (Hvis FMKRequestHeader f.eks. er placeret i soapheaderen returneres FMKResponseHeader også i soapheader).
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>
