3.4 Changes of headers upon transfer from message protocol version 3.1 to version 4.0

X-Road Version 6 does not differentiate X-Road members in terms of use and the provision of dataservices. However, in X-Road Version 6, which is using message protocol version 4.0, membership is hierarchical.

Therefore, header fields change as follows:

  • consumer– ‘consumer’ used in protocol version 3.1 moved in protocol version 4.0 into the complex type ‘client’ and is described with elements xRoadInstance,memberClass,memberCode,subsystemCode;
  • producer– ‘producer’ used in protocol version 3.1 moved in protocol version 4.0 into the complex types ‘service’ and ‘centralService’ and is described with elements xRoadInstance,memberClass,memberCode,subsystemCode;
  • service – ‘service’ used in protocol version 3.1 moved in protocol version 4.0 into the complex types’service’ and ‘centralService’ and is described with elements xRoadInstance,memberClass,memberCode,serviceCode,serviceVersion, subsystemCode.

The header ‘consumer’ of X-Road Version 5 is presented as follows in Version 6:

<xrd:client id:objectType="SUBSYSTEM">

  <id:xRoadInstance>XX</id:xRoadInstance>

  <id:memberClass>CLASS1</id:memberClass>

  <id:memberCode>10239452</id:memberCode>

  <id:subsystemCode>subsystemname</id:subsystemCode>

</xrd:client>

The header ‘producer’ of X-Road Version 5 is presented as follows in Version 6:

<xrd:service id:objectType="SERVICE">

  <id:xRoadInstance>XX</id:xRoadInstance>

  <id:memberClass>CLASS1</id:memberClass>

  <id:memberCode>MEMBER2</id:memberCode>

  <id:subsystemCode>maakataster</id:subsystemCode>

  ...

</xrd:service>


The header ‘service’ of X-Road Version 5 is presented as follows in Version 6:

<xrd:service id:objectType="SERVICE">

  <id:xRoadInstance>XX</id:xRoadInstance>

  ...

  <id:serviceCode>kyAadr</id:serviceCode>

  <id:serviceVersion>v1</id:serviceVersion>

</xrd:service>


Furthermore, in X-Road Version 5, the name of a data register was included in the header in two fields: ‘producer’ and ‘service’. In Version 6, the concept of data register has been replaced by the concept of subsystem and is defined only in the element ‘subsystemCode’.


Last modified: Tuesday, 16 May 2017, 12:10 PM