Ketenprotocol SB Datex-II V3
De beschrijving van de technische interface voor Situatieberichten is vastgelegd in het, in de onderliggende paragrafen beschreven, ketenprotocol-SB. Dit protocol is bedoeld om een beschrijving te geven hoe systemen voor de uitwisseling van DATEX II v3.x met elkaar verbinden en data met payload van het type situationPublication dienen uit te wisselen. Voor de uitwisseling wordt gebruik maakt van Exchange 2020. Er wordt gebruikt gemaakt van het zogenaamde Stateful Push protocol. Ten opzichte van het Europese protocol wordt op dit moment alleen delta Synchronization Push niet ondersteund. In de onderstaande voorbeelden wordt er vanuit gegaan dat NDW de leverancier is. Wanneer NDW de ontvanger is, komt dus op de plaats van 'NLNDW' in het element 'nationalIdentifier' het 'ID van de leverancier' te staan.
Uitwisseling van gegevens geschiedt op basis van SOAP (versie 1.1) over HTTP (versie 1.1). Voor de beschreven methode geldt dat er gebruik gemaakt moet worden van compressie om de hoeveelheid data verkeer te beperken. Hiervoor dient de HTTP header “Accept-Encoding: gzip” gebruikt te worden.
Payload
De payload bevat het daadwerkelijke DATEX II bericht met de situatie-informatie.
Exchange Information
De exchangeInformation gaat over de uitwisseling tussen de Supplier en de Client. Met behulp van informationManagement kunnen situaties beëindigd of geannuleerd worden. In de onderstaande paragrafen staan tabellen met verwijzingen als sd x.x.x. Dit verwijst zowel naar de onderdelen in de sequence diagrammen als naar de meegeleverde XML-voorbeelden.
Push Methode
Systemen binnen de SB keten hebben een interface beschikbaar om data te "pushen" naar een afnemende partij. Het systeem van deze partij moet gebouwd zijn om te werken met "Exchange 2020 Ketenprotocol WSDL".
1 WSDL-omschrijvingen zijn hier te vinden.
De push methode bevat een aantal onderdelen die hier onder beschreven worden. Het gaat om:
- Administratie;
- Start Connection and Deliver Data
- Maintain Connection
- Close Connection or Fail
- Request Snapshot
- Weigeren van data.
Administratie
Zowel de aanleverende (Supplier) als de afnemende (Client) partij houden een offline administratie bij. Hierin staat geregistreerd bij het aanleverend systeem:
- AfnemerID
- End Point waarop het afnemende systeem de data wil ontvangen;
Hierin staat geregistreerd bij het afnemende systeem:
- LeverancierID
- End Point waarop de het aanleverend systeem de registratie wil ontvangen.
Start Connection and Deliver Data
De client state is 'offline'. Het aanleverend systeem (Supplier) maakt kenbaar dat het klaar is voor levering door een openSession bericht te sturen naar het afnemend systeem.
sd 1.0 openSession
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | openingSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:openSessionInput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>openingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-04T10:06:11.308965Z</ex:messageGenerationTimestamp>
</ex:dynamicInformation>
</stp:openSessionInput>
</soap:Body>
</soap:Envelope>
Dit zal het aanleverende systeem elke 10 minuten doen net zolang tot het afnemende systeem reageert of tot dit handmatig overruled wordt.
Het afnemende systeem reageert op een van de drie volgende mogelijkheden:
- Succes Snapshot on openSession
- Succes Ack on openSession
- Fail on openSession
Succes Snapshot on openSession
In dit geval zal het afnemend systeem, wanneer het een Exchange openSession bericht ontvangt, een Exchange snapshotSynchronizationRequest bericht terugsturen, met daarin een Sessie ID, waarna het leverende systeem de client State naar 'online' zet.
sd 1.1.1 return snapshotSynchronizationRequest
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | openingSession |
returnStatus | snapshotSynchronisationRequest |
sessionID | Session ID, determined by client |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:openSessionOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>openingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>snapshotSynchronisationRequest</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:openSessionOutput>
</soap:Body>
</soap:Envelope>
Hierna wordt er door het leverende systeem een snapshot gegenereerd wat met een ExchangeInformation(payloadDelivery) naar de afnemende partij wordt gestuurd. De gegevens bevinden zich in een payload van het type 'situationPublication'.
sd 1.1.2 payloadDelivery Snapshot
Elementen binnen payload | |
---|---|
Alle relevante situaties | situation |
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
updateMethod | snapshot |
exchangeStatus | online |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putSnapshotDataInput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mes="http://datex2.eu/schema/3/messageContainer"
modelBaseVersion="3">
<mes:payload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/location"
xsi:type="sit:SituationPublication" lang="nl" modelBaseVersion="3">
....
</mes:payload>
<mes:exchangeInformation xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>snapshot</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mes:exchangeInformation>
</stp:putSnapshotDataInput>
</soap:Body>
</soap:Envelope>
Het ontvangende systeem reageert met een 'ack'-bericht dat het snapshot correct is ontvangen.
sd 1.1.3 return ack
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | Online |
returnStatus | Ack |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putSnapshotDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>ack</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:putSnapshotDataOutput>
</soap:Body>
</soap:Envelope>
Hierna gaat het leverende systeem uit de loop 'Supplier Status offline Open Session' en gaat deze naar het volgende sequence diagram 'Maintain Connection' (zie het volgende hoofdstuk).
Fail on openSession
Wanneer het afnemend systeem een fail terugstuurt op de openSession of er helemaal geen antwoord komt, blijft het aanleverende systeem elke tien minuten proberen een verbinding op te zetten.
sd 1.2.1 return fail
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | openingSession |
returnStatus | fail |
returnStatusReason | optionele extra informatie |
codedInvalidityReason | bv: other |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:openSessionOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>openingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>fail</ex:returnStatus>
<ex:returnStatusReason>
<com:values>
<com:value>optional extra reason information</com:value>
</com:values>
</ex:returnStatusReason>
<ex:codedInvalidityReason>other</ex:codedInvalidityReason>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:openSessionOutput>
</soap:Body>
</soap:Envelope>
Maintain Connection
De verbinding tussen het aanleverend systeem en het afnemend systeem zal worden onderhouden door het aanleverend systeem. Er zijn twee scenarios: 'Data Ready for Payload Push' en 'no data keepAlive'
Data ready for payload push
Wanneer er binnen één minuut na het laatst verstuurde bericht er een update op de data is zal deze direct verstuurd worden door middel van een allElementUpdate bericht waarbij de data zich bevindt in een payload van het type situationPublication.
sd 2.1.1 allElementUpdate
Elementen binnen payload | |
---|---|
Alle geüpdatete situaties | situation |
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
operatingMode | onOccurence |
updateMethod | allElementUpdate |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | online |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataInput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mes="http://datex2.eu/schema/3/messageContainer"
modelBaseVersion="3">
<mes:payload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/location"
xsi:type="sit:SituationPublication" lang="nl" modelBaseVersion="3">
...
</mes:payload>
<mes:exchangeInformation xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:operatingMode>onOccurrence</ex:operatingMode>
<ex:updateMethod>allElementUpdate</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mes:exchangeInformation>
</stp:putDataInput>
</soap:Body>
</soap:Envelope>
sd 2.1.2 return ack
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | online |
returnStatus | ack |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>Exchange2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>ack</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:putDataOutput>
</soap:Body>
</soap:Envelope>
No data keepAlive
Wanneer er één minuut na het versturen van het laatste bericht nog geen update op de data te versturen is, zal het aanleverende systeem een keep-alive bericht sturen. Dit zal het systeem elke minuut blijven doen totdat er een update op de data is en er een allElementUpdate verstuurd wordt (de vorige paragraaf).
sd 2.2.1 keepAlive
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | online |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:keepAliveInput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-04T10:06:11.308965Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:keepAliveInput>
</soap:Body>
</soap:Envelope>
sd 2.2.2 return ack
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | online |
returnStatus | ack |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:keepAliveOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>ack</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:keepAliveOutput>
</soap:Body>
</soap:Envelope>
CloseSession or Fail
Wanneer het ontvangende systeem de verbinding wil verbreken, dient deze een closeSessionRequest sturen als reactie op een pushbericht of een keepAlive-bericht. Het aanleverende systeem reageert dan met een closeSession bericht. Het ontvangende systeem reageert hetzelfde wanneer een bericht geweigerd wordt door het ontvangende systeem (fail).
Ook wanneer het ontvangende systeem voor een timeout zorgt bij het aanleverende systeem, zal het aanleverende systeem een closeSession sturen.
Het aanleverende systeem zal na bevestiging of timeout de sessie naar 'offline' zetten, zo wordt de verbinding inactief en zal er geen data meer verstuurd worden.
sd 3.1 return closeSessionRequest
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | Exchange 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | closingSession |
returnStatus | closeSessionRequest |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld closeSessionRequest na putDataInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>closingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>closeSessionRequest</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:putDataOutput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld closeSessionRequest na putSnapshotDataInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putSnapshotDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>closingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>closeSessionRequest</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:putSnapshotDataOutput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld closeSessionRequest na keepAliveInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:keepAliveOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>closingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>closeSessionRequest</ex:returnStatus>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:keepAliveOutput>
</soap:Body>
</soap:Envelope>
sd 3.2 return fail
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | online |
returnStatus | fail |
returnStatusReason | Optionele toelichting |
codedInvalidityReason | bv: invalidMessage |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld na putDataInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>closingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>fail</ex:returnStatus>
<ex:returnStatusReason>
<com:values>
<com:value>XSD validation error at: line 110</com:value>
</com:values>
</ex:returnStatusReason>
<ex:codedInvalidityReason>invalidMessage</ex:codedInvalidityReason>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:putDataOutput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld na putSnapshotDataInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putSnapshotDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>closingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>fail</ex:returnStatus>
<ex:returnStatusReason>
<com:values>
<com:value>XSD validation error at: line 110</com:value>
</com:values>
</ex:returnStatusReason>
<ex:codedInvalidityReason>invalidMessage</ex:codedInvalidityReason>
</ex:returnInformation>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:putSnapshotDataOutput>
</soap:Body>
</soap:Envelope>
sd 3.3 closeSession
Elementen binnen exchangeInformation | Waarde |
---|---|
messageType | closeSession |
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | closingSession |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:closeSessionInput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>closingSession</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-04T10:06:11.308965Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</stp:closeSessionInput>
</soap:Body>
</soap:Envelope>
sd 3.4 return ack
Elementen binnen exchangeInformation | Waarde |
---|---|
messageType | return |
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | offline |
returnStatus | ack |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:closeSessionOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>offline</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>ack</ex:returnStatus>
</ex:returnInformation>
</ex:dynamicInformation>
</stp:closeSessionOutput>
</soap:Body>
</soap:Envelope>
Snapshot Request
Wanneer een ontvangend systeem, om wat voor reden dan ook, een snapshot nodig heeft om de huidige situatie weer te weten, kan deze op elk bericht een return bericht sturen met een snapshotSynchronizationRequest. Het aanleverende systeem zal als gevolg van dit verzoek een snapshot genereren en daarna deze naar het ontvangende systeem sturen en daarna doorgaan met de 'maintain Connection'. Dit verzoek kan alleen plaats vinden wanneer de session op 'online' staat. Anders moet eerst de verbinding weer opgezet worden.
Let op
Als er binnen twee aanvragen geen snapshot is ontvangen zal de sessie worden gesloten door het afnemende systeem. Op deze manier zal er ook een snapshot synchronisatie worden geforceerd.
sd 4.1 return snapshotSynchronizationRequest
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
exchangeStatus | online |
returnStatus | snapshotSynchronisationRequest |
XML Voorbeeld na keepAliveInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:keepAliveOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>snapshotSynchronisationRequest</ex:returnStatus>
</ex:returnInformation>
</ex:dynamicInformation>
</stp:keepAliveOutput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld na openSessionInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:openSessionOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>snapshotSynchronisationRequest</ex:returnStatus>
</ex:returnInformation>
</ex:dynamicInformation>
</stp:openSessionOutput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld na putDataInput
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataOutput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:com="http://datex2.eu/schema/3/common"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-03-17T19:56:16.266+01:00</ex:messageGenerationTimestamp>
<ex:returnInformation>
<ex:returnStatus>snapshotSynchronisationRequest</ex:returnStatus>
</ex:returnInformation>
</ex:dynamicInformation>
</stp:putDataOutput>
</soap:Body>
</soap:Envelope>
Hierna wordt er door het leverende systeem een snapshot met alle relevante situations gegenereerd dat samen met een ExchangeInformation(payloadDelivery) naar de afnemende partij wordt gestuurd. De gegevens bevinden zich in een payload van het type 'situationPublication'.
sd 4.2 payloadDelivery Snapshot
Elementen binnen payload | |
---|---|
Alle relevante situaties | situation |
Elementen binnen exchangeInformation | Waarde |
---|---|
codedExchangeProtocol | statefulPush |
exchangeSpecificationVersion | 2020 |
supplierOrCisRequester internationalIdentifier | Land, en ID van leverancier |
updateMethod | snapshot |
exchangeStatus | online |
sessionID | Session ID, previously obtained with OpenSession |
XML Voorbeeld
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putSnapshotDataInput xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mes="http://datex2.eu/schema/3/messageContainer"
modelBaseVersion="3">
<mes:payload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/location"
xsi:type="sit:SituationPublication" lang="nl" modelBaseVersion="3">
....
</mes:payload>
<mes:exchangeInformation xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>snapshot</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NLNDW</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>7892634986</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mes:exchangeInformation>
</stp:putSnapshotDataInput>
</soap:Body>
</soap:Envelope>
Het ontvangende systeem reageert met een 'ack'-bericht dat het snapshot correct is ontvangen.
InformationManagement
Het element elementReference in het onderdeel informationManagedResourceList van de InformationManagement sectie wordt gebruikt om de technische informatiestatus van een situatie, situatieonderdeel, configuratie, of ander publicatietype te geven. Hieruit is vervolgens af te leiden of van het object waarnaar gerefeerd wordt nog een vervolg te verwachten is, of niet.
Element | Type | Verplicht | Domein |
---|---|---|---|
elementReference | ElementReference | Ja | nvt |
managementStatus | ManagementTypeEnum | Ja | cancelled, closed, dataChainIssue, outOfRange |
reference | Reference | Ja | Beschrijft de referentie naar het betreffende object waarop de managementstatus van toepassing is. |
d2ElementType | D2ElementTypeEnum | Ja | measurementSite, measurementSiteTable, situation, situationRecord, vmsController, vmsControllerTable |
managementStatusChangeTime | DateTime | Ja | Beschrijft het tijdstip waarop de managementstatus is gewijzigd. |
InformationManagement Situatieberichten
Situaties en situatieonderdelen worden met behulp van het onderdeel InformationManagement technisch beëindigd (closed) of geannuleerd (cancelled). Dit geldt voor zowel de situaties zelf, als voor de onderliggende individuele situatieonderdelen. Naast deze technische beëindiging wordt op het moment dat een gebeurtenis in werkelijkheid is beëindigd, aanvullend op het informationManagement onderdeel ook de payload met de situatie en situatieonderdelen nogmaals wordt verstuurd. In deze payload update wordt ook de definitieve eindtijd van de gebeurtenis opgenomen in het validity-onderdeel overallEndTime. Deze update van de eindtijd wordt altijd vóór of tegelijk met het verstrekken van de technische eindtijd in informationManagement verstuurd. Nooit later.
De informatieverstrekking over een gebeurtenis die in werkelijkheid nog niet is beëindigd en waarvoor eerder een situatie/situatieonderdeel is uitgestuurd, kan worden opgeschort. Dit kan van toepassing zijn bij een dataketenissue (dataChainIssue), of wanneer de betreffende gebeurtenis niet langer aan de voorwaarden van publicatie voldoet (outOfRange). Als een van deze gevallen optreedt dan wordt dit met behulp van het InformationManagement onderdeel aangegeven, waarbij de reden van de opschorting wordt opgenomen het element ManagementStatus. In tegenstelling tot een daadwerkelijke technische beëindiging wordt in deze gevallen géén payload meegstuurd met een daadwerkelijke eindtijd in het validity-onderdeel overallEndTime. Zodra de werkelijke gebeurtenis definitief is beëindigd wordt de informatieverstrekking van de/het situatie/situatieonderdeel afgesloten op dezelfde wijze zoals in de vorige paragraaf beschreven.
Indien een opgeschorte gebeurtenis zoals in de vorige paragraaf beschreven weer relevant wordt voor publicatie, wordt de/het eerder gebruikte situatie/situatieonderdeel weer opgenomen in de publicatie met dezelfde id en een hogere versie.
Voorbeelden InformationManagement Situatieberichten:
XML Voorbeeld situation beëindigd
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataInput
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/locationReferencing"
xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mc="http://datex2.eu/schema/3/messageContainer"
xmlns:inf="http://datex2.eu/schema/3/informationManagement"
xmlns:nlx="http://datex2.eu/schema/3/nlxExtensions"
modelBaseVersion="3">
<mc:payload
xsi:type="sit:SituationPublication" lang="nl" modelBaseVersion="3">
<com:publicationTime>2023-12-08T09:49:50.713Z</com:publicationTime>
<com:publicationCreator>
<com:country>nl</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</com:publicationCreator>
<sit:situation id="NDW01_001_SIT">
<sit:overallSeverity>unknown</sit:overallSeverity>
<sit:situationVersionTime>2023-12-08T09:49:50.713Z</sit:situationVersionTime>
<sit:headerInformation>
<com:confidentiality>noRestriction</com:confidentiality>
<com:informationStatus>real</com:informationStatus>
</sit:headerInformation>
<sit:situationRecord xsi:type="sit:XXX" id="NDW01_001_SIT_REC" version="4">
<sit:situationRecordCreationTime>2023-12-08T09:23:17.546Z</sit:situationRecordCreationTime>
<sit:situationRecordVersionTime>2023-12-08T09:49:50.713Z</sit:situationRecordVersionTime>
<sit:probabilityOfOccurrence>probable</sit:probabilityOfOccurrence>
<sit:source>
...
</sit:source>
<sit:validity>
<com:validityStatus>definedByValidityTimeSpec</com:validityStatus>
<com:validityTimeSpecification>
<com:overallStartTime>2023-12-08T09:23:17.546Z</com:overallStartTime>
<com:overallEndTime>2023-12-08T09:48:50.713Z</com:overallEndTime>
</com:validityTimeSpecification>
</sit:validity>
<sit:generalPublicComment>
...
</sit:generalPublicComment>
<sit:locationReference xsi:type="loc:PointLocation">
...
</sit:locationReference>
</sit:situationRecord>
</sit:situation>
</mc:payload>
<mc:exchangeInformation modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>allElementUpdate</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2023-12-08T09:48:50.713Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>d674c9b2-e080-499d-8f1e-732b6e0e2fef</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mc:exchangeInformation>
<mc:informationManagement>
<inf:informationManagedResourceList>
<inf:elementReference>
<inf:managementStatus>closed</inf:managementStatus>
<inf:reference id="NDW01_001_SIT"/>
<inf:_elementReferenceExtension>
<inf:elementReferenceExtended>
<nlx:d2ElementType>situation</nlx:d2ElementType>
<nlx:managementStatusChangeTime>2023-12-08T09:48:50.713Z</nlx:managementStatusChangeTime>
</inf:elementReferenceExtended>
</inf:_elementReferenceExtension>
</inf:elementReference>
</inf:informationManagedResourceList>
</mc:informationManagement>
</stp:putDataInput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld situationRecord beëindigd
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataInput
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/locationReferencing"
xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mc="http://datex2.eu/schema/3/messageContainer"
xmlns:inf="http://datex2.eu/schema/3/informationManagement"
xmlns:nlx="http://datex2.eu/schema/3/nlxExtensions"
modelBaseVersion="3">
<mc:payload
xsi:type="sit:SituationPublication" lang="nl" modelBaseVersion="3">
<com:publicationTime>2023-12-08T09:49:50.713Z</com:publicationTime>
<com:publicationCreator>
<com:country>nl</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</com:publicationCreator>
<sit:situation id="NDW01_002_SIT">
<sit:overallSeverity>unknown</sit:overallSeverity>
<sit:situationVersionTime>2023-12-08T09:49:50.713Z</sit:situationVersionTime>
<sit:headerInformation>
<com:confidentiality>noRestriction</com:confidentiality>
<com:informationStatus>real</com:informationStatus>
</sit:headerInformation>
<sit:situationRecord xsi:type="sit:XXX" id="NDW01_002_SIT_REC" version="4">
<sit:situationRecordCreationTime>2023-12-08T09:23:17.546Z</sit:situationRecordCreationTime>
<sit:situationRecordVersionTime>2023-12-08T09:49:50.713Z</sit:situationRecordVersionTime>
<sit:probabilityOfOccurrence>probable</sit:probabilityOfOccurrence>
<sit:source>
...
</sit:source>
<sit:validity>
<com:validityStatus>definedByValidityTimeSpec</com:validityStatus>
<com:validityTimeSpecification>
<com:overallStartTime>2023-12-08T09:23:17.546Z</com:overallStartTime>
<com:overallEndTime>2023-12-08T09:49:50.713Z</com:overallEndTime>
</com:validityTimeSpecification>
</sit:validity>
<sit:generalPublicComment>
...
</sit:generalPublicComment>
<sit:locationReference xsi:type="loc:PointLocation">
...
</sit:locationReference>
</sit:situationRecord>
<sit:situationRecord xsi:type="sit:XXX" id="NDW01_003_SIT_REC" version="4">
<sit:situationRecordCreationTime>2023-12-08T09:23:17.546Z</sit:situationRecordCreationTime>
<sit:situationRecordVersionTime>2023-12-08T09:49:50.713Z</sit:situationRecordVersionTime>
<sit:probabilityOfOccurrence>probable</sit:probabilityOfOccurrence>
<sit:source>
...
</sit:source>
<sit:validity>
<com:validityStatus>definedByValidityTimeSpec</com:validityStatus>
<com:validityTimeSpecification>
<com:overallStartTime>2023-12-08T09:23:17.546Z</com:overallStartTime>
</com:validityTimeSpecification>
</sit:validity>
<sit:generalPublicComment>
...
</sit:generalPublicComment>
<sit:locationReference xsi:type="loc:PointLocation">
...
</sit:locationReference>
</sit:situationRecord>
</sit:situation>
</mc:payload>
<mc:exchangeInformation modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>allElementUpdate</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>d674c9b2-e080-499d-8f1e-732b6e0e2fef</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mc:exchangeInformation>
<mc:informationManagement>
<inf:informationManagedResourceList>
<inf:elementReference>
<inf:managementStatus>closed</inf:managementStatus>
<inf:reference id="NDW01_002_SIT_REC"/>
<inf:_elementReferenceExtension>
<inf:elementReferenceExtended>
<nlx:d2ElementType>situationRecord</nlx:d2ElementType>
<nlx:managementStatusChangeTime>2020-11-04T09:30:47Z</nlx:managementStatusChangeTime>
</inf:elementReferenceExtended>
</inf:_elementReferenceExtension>
</inf:elementReference>
</inf:informationManagedResourceList>
</mc:informationManagement>
</stp:putDataInput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld geannuleerd
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataInput
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/locationReferencing"
xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mc="http://datex2.eu/schema/3/messageContainer"
xmlns:inf="http://datex2.eu/schema/3/informationManagement"
xmlns:nlx="http://datex2.eu/schema/3/nlxExtensions"
modelBaseVersion="3">
<mc:payload
xsi:type="sit:SituationPublication" lang="nl" modelBaseVersion="3">
<com:publicationTime>2024-01-10T14:49:00.000121043Z</com:publicationTime>
<com:publicationCreator>
<com:country>nl</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</com:publicationCreator>
<sit:situation id="NDW01_001_SIT">
<sit:overallSeverity>unknown</sit:overallSeverity>
<sit:situationVersionTime>2023-12-08T09:48:50.713Z</sit:situationVersionTime>
<sit:headerInformation>
<com:confidentiality>noRestriction</com:confidentiality>
<com:informationStatus>real</com:informationStatus>
</sit:headerInformation>
<sit:situationRecord xsi:type="sit:VehicleObstruction"
id="NDW01_001_SIT_REC"
version="4">
<sit:situationRecordCreationTime>2023-12-08T09:23:17.546Z</sit:situationRecordCreationTime>
<sit:situationRecordVersionTime>2023-12-08T09:49:50.713Z</sit:situationRecordVersionTime>
<sit:probabilityOfOccurrence>probable</sit:probabilityOfOccurrence>
<sit:source>
<com:sourceName>
<com:values>
<com:value lang="nl">NDW</com:value>
</com:values>
</com:sourceName>
</sit:source>
<sit:validity>
<com:validityStatus>definedByValidityTimeSpec</com:validityStatus>
<com:validityTimeSpecification>
<com:overallStartTime>2024-02-25T19:00:00Z</com:overallStartTime>
<com:overallEndTime>2024-02-25T20:00:00Z</com:overallEndTime>
</com:validityTimeSpecification>
</sit:validity>
<sit:generalPublicComment>
<sit:comment>
<com:values>
<com:value lang="nl">Pijlwagen</com:value>
</com:values>
</sit:comment>
</sit:generalPublicComment>
<sit:locationReference xsi:type="loc:PointLocation">
<loc:supplementaryPositionalDescription/>
<loc:pointByCoordinates>
<loc:bearing>250</loc:bearing>
<loc:pointCoordinates>
<loc:latitude>51.69019</loc:latitude>
<loc:longitude>5.041351</loc:longitude>
</loc:pointCoordinates>
</loc:pointByCoordinates>
</sit:locationReference>
<sit:mobilityOfObstruction>
<sit:mobilityType>stationary</sit:mobilityType>
</sit:mobilityOfObstruction>
<sit:vehicleObstructionType>other</sit:vehicleObstructionType>
</sit:situationRecord>
</sit:situation>
</mc:payload>
<mc:exchangeInformation modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>allElementUpdate</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>d674c9b2-e080-499d-8f1e-732b6e0e2fef</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mc:exchangeInformation>
<mc:informationManagement>
<inf:informationManagedResourceList>
<inf:elementReference>
<inf:managementStatus>cancelled</inf:managementStatus>
<inf:reference id="NDW01_001_SIT_REC"/>
<inf:_elementReferenceExtension>
<inf:elementReferenceExtended>
<nlx:d2ElementType>situationRecord</nlx:d2ElementType>
<nlx:managementStatusChangeTime>2020-11-04T09:30:47Z</nlx:managementStatusChangeTime>
</inf:elementReferenceExtended>
</inf:_elementReferenceExtension>
</inf:elementReference>
</inf:informationManagedResourceList>
</mc:informationManagement>
</stp:putDataInput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld dataketen probleem
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataInput
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/locationReferencing"
xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mc="http://datex2.eu/schema/3/messageContainer"
xmlns:inf="http://datex2.eu/schema/3/informationManagement"
xmlns:nlx="http://datex2.eu/schema/3/nlxExtensions"
modelBaseVersion="3">
<mc:exchangeInformation modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>allElementUpdate</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>d674c9b2-e080-499d-8f1e-732b6e0e2fef</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mc:exchangeInformation>
<mc:informationManagement>
<inf:informationManagedResourceList>
<inf:elementReference>
<inf:managementStatus _extendedValue="dataChainIssue">_extended</inf:managementStatus>
<inf:reference id="NDW01_001_SIT_REC"/>
<inf:_elementReferenceExtension>
<inf:elementReferenceExtended>
<nlx:d2ElementType>situationRecord</nlx:d2ElementType>
<nlx:managementStatusChangeTime>2020-11-04T09:30:47Z</nlx:managementStatusChangeTime>
</inf:elementReferenceExtended>
</inf:_elementReferenceExtension>
</inf:elementReference>
</inf:informationManagedResourceList>
</mc:informationManagement>
</stp:putDataInput>
</soap:Body>
</soap:Envelope>
XML Voorbeeld buiten bereik
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<stp:putDataInput
xmlns:ex="http://datex2.eu/schema/3/exchangeInformation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:com="http://datex2.eu/schema/3/common"
xmlns:sit="http://datex2.eu/schema/3/situation"
xmlns:loc="http://datex2.eu/schema/3/locationReferencing"
xmlns:stp="http://datex2.eu/wsdl/statefulPush/2020"
xmlns:mc="http://datex2.eu/schema/3/messageContainer"
xmlns:inf="http://datex2.eu/schema/3/informationManagement"
xmlns:nlx="http://datex2.eu/schema/3/nlxExtensions"
modelBaseVersion="3">
<mc:exchangeInformation modelBaseVersion="3">
<ex:exchangeContext>
<ex:codedExchangeProtocol>statefulPush</ex:codedExchangeProtocol>
<ex:exchangeSpecificationVersion>2020</ex:exchangeSpecificationVersion>
<ex:updateMethod>allElementUpdate</ex:updateMethod>
<ex:supplierOrCisRequester>
<ex:internationalIdentifier>
<com:country>NL</com:country>
<com:nationalIdentifier>NDWExample</com:nationalIdentifier>
</ex:internationalIdentifier>
</ex:supplierOrCisRequester>
</ex:exchangeContext>
<ex:dynamicInformation>
<ex:exchangeStatus>online</ex:exchangeStatus>
<ex:messageGenerationTimestamp>2021-08-11T07:56:57.374114Z</ex:messageGenerationTimestamp>
<ex:sessionInformation>
<ex:sessionID>d674c9b2-e080-499d-8f1e-732b6e0e2fef</ex:sessionID>
</ex:sessionInformation>
</ex:dynamicInformation>
</mc:exchangeInformation>
<mc:informationManagement>
<inf:informationManagedResourceList>
<inf:elementReference>
<inf:managementStatus _extendedValue="outOfRange">_extended</inf:managementStatus>
<inf:reference id="NDW01_001_SIT_REC"/>
<inf:_elementReferenceExtension>
<inf:elementReferenceExtended>
<nlx:d2ElementType>situationRecord</nlx:d2ElementType>
<nlx:managementStatusChangeTime>2020-11-04T09:30:47Z</nlx:managementStatusChangeTime>
</inf:elementReferenceExtended>
</inf:_elementReferenceExtension>
</inf:elementReference>
</inf:informationManagedResourceList>
</mc:informationManagement>
</stp:putDataInput>
</soap:Body>
</soap:Envelope>