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.
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 til at indeholde begge dele. Obligatoriske elementer gøres valgfri i requestet. Der indføres en validering, der bekræfter at (1) obligatoriske elementer eksisterer på én af de to former og (2) requestet holder sig til én form, og ikke blander de to løsninger.
Ved kald flages, hvilken form requestet tager, og responset gives tilbage med samme opbygning (Hvis FMKRequestHeader f.eks. er placeret i soapheaderen returneres FMKResponseHeader også i soapheader)
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>
