Siin lehel on kirjeldatud ja lahti seletatud mõned näidispäringud. Neid päringuid saab kasutada enda turvaserveri ja teise X-tee liikme turvaserveri andmevahetuse kontrollimiseks. Kui vastuseks ei ole veateade, siis andmevahetus õnnestus ning kahe turvaserveri vaheline suhtlus toimis.

NB: Näidispäringud tuleb kohandada enda asutuse ja andmevahetus partneri infoga!

Päringus kasutatud UUID genereerimiseks saab kasutada UUID generaatorit. Näidispäringute Sisesta_Siia_UUID väärtused tuleb asendada genereeritud UUID'ga ning uut UUID väärtust tuleb kasutada iga päringuga.

Päringu käivitamine

Päringut saate turvaserveri käsurealt käivitada järgmise käsuga:

curl -v -d @/tmp/request.xml -o /tmp/reply.xml -H "Content-type: text/xml; charset=UTF-8" http://TURVASERVER/
BASH

Väärtuse TURVASERVER asemel kirjutage enda turvaserveri sisemine aadress, mille pihta päringut saadate.

Päringu tegemiseks võite ka näiteks SoapUI'd kasutada ning sellega turvaserveri pihta päringut saata.

Andmeteenuste pärimise ehk listMethods päring, RIA xroad-center alamsüsteemi näitel:

listMethods

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
        xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xroad="http://x-road.eu/xsd/xroad.xsd"
        xmlns:id="http://x-road.eu/xsd/identifiers">
    <SOAP-ENV:Header>
        <xroad:client id:objectType="SUBSYSTEM">
            <id:xRoadInstance>ee-dev</id:xRoadInstance>
            <id:memberClass>GOV</id:memberClass>
            <id:memberCode>70006317</id:memberCode>
            <id:subsystemCode>generic-consumer</id:subsystemCode>
        </xroad:client>
        <xroad:service id:objectType="SERVICE">
         <id:xRoadInstance>ee-dev</id:xRoadInstance>
         <id:memberClass>GOV</id:memberClass>
         <id:memberCode>70006317</id:memberCode>
         <id:subsystemCode>xroad-center</id:subsystemCode>
         <id:serviceCode>listMethods</id:serviceCode>
        </xroad:service>
        <xroad:id>Sisesta_Siia_UUID</xroad:id>
        <xroad:protocolVersion>4.0</xroad:protocolVersion>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <xroad:listMethods/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
CODE

Enne päringu käivitamist tuleb muuta xroad:client lõik enda asutusele vastavaks:

<xroad:client id:objectType="SUBSYSTEM">
    <id:xRoadInstance>KESKKOND</id:xRoadInstance>
    <id:memberClass>ENDA_MEMBER_CLASS</id:memberClass>
    <id:memberCode>ENDA_MEMBER_CODE</id:memberCode>
    <id:subsystemCode>ENDA_SUBSYSTEM_CODE</id:subsystemCode>
</xroad:client>
CODE

Suurte tähtedega kirjutatud väärtused tuleb asendada vastavalt:

  • KESKKOND - siia kirjutage kas ee-dev, ee-test või EE (tõstutundlik)
  • ENDA_MEMBER_CLASS - siia kirjutage enda asutuse member class väärtus, kas COM, GOV, NGO või NEE
  • ENDA_MEMBER_CODE - siia kirjutage enda asutuse member code väärtus. Eesti äriregistris registreeritud asutuste puhul on selleks asutuse registrikood.
  • ENDA_SUBSYSTEM_CODE - siia kirjutage enda alamsüsteemi subsystem code väärtus, millega päringut teete. Alamsüsteem peab olema 'registered' staatuses.

Kui soovite mõne teise alamsüsteemi andmeteenuste nimekirja pärida, siis peate kohandama xroad:service lõiku vastavalt andmevahetuspartneri ehk teenuspakkuja infoga:

<xroad:service id:objectType="SERVICE">
    <id:xRoadInstance>KESKKOND</id:xRoadInstance>
    <id:memberClass>PARTNERI_MEMBER_CLASS</id:memberClass>
    <id:memberCode>PARTNERI_MEMBER_CODE</id:memberCode>
    <id:subsystemCode>PARTNERI_SUBSYSTEM_CODE</id:subsystemCode>
    <id:serviceCode>TEENUS</id:serviceCode>
</xroad:service>
CODE

Suurte tähtedega kirjutatud väärtused tuleb asendada vastavalt:

  • KESKKOND - siia kirjutage kas ee-dev, ee-test või EE (tõstutundlik). Peab klappima xroad:client lõigus kirjutatud keskkonnaga!
  • PARTNERI_MEMBER_CLASS - siia kirjutage teenuspakkuja asutuse member class väärtus, kas COM, GOV, NGO või NEE
  • PARTNERI_MEMBER_CODE - siia kirjutage teenuspakkuja asutuse member code väärtus. Eesti äriregistris registreeritud asutuste puhul on selleks asutuse registrikood.
  • PARTNERI_SUBSYSTEM_CODE - siia kirjutage teenuspakkuja alamsüsteemi subsystem code väärtus, mis pakub andmeteenuseid. 
    • NB: Päringu õnnestumiseks peab teenuspakkuja olema andnud Teie alamsüsteemile ligipääsu enda teenustele
  • TEENUS - siia kirjutage teenuse kood, mida soovite pärida. Antud näiteks on selles listMethods, mis tagastab nimekirja alamsüsteemi poolt pakutavatest teenustest.

Sarnaste kohandamistega saate teha ka teisi näidispäringuid.


Lubatud teenuste loetelu ehk allowedMethods päringu näidis:

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
        xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ns1="http://aar.x-road.ee/producer/"
        xmlns:xroad="http://x-road.eu/xsd/xroad.xsd"
        xmlns:id="http://x-road.eu/xsd/identifiers">
    <SOAP-ENV:Header>
        <xroad:client id:objectType="SUBSYSTEM">
            <id:xRoadInstance>ee-dev</id:xRoadInstance>
            <id:memberClass>GOV</id:memberClass>
            <id:memberCode>70006317</id:memberCode>
            <id:subsystemCode>generic-consumer</id:subsystemCode>
        </xroad:client>
        <xroad:service id:objectType="SERVICE">
            <id:xRoadInstance>ee-dev</id:xRoadInstance>
            <id:memberClass>GOV</id:memberClass>
            <id:memberCode>70006317</id:memberCode>
            <id:subsystemCode>dhl</id:subsystemCode>
            <id:serviceCode>allowedMethods</id:serviceCode>
        </xroad:service>
        <xroad:id>Sisesta_Siia_UUID</xroad:id>
        <xroad:protocolVersion>4.0</xroad:protocolVersion>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <xroad:allowedMethods/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
CODE

Kui teenuse kausutusõigus on antud, siis vastuses kuvatakse ühte või rohkem lubatud teenuseid:

 <SOAP-ENV:Body>
        <xroad:allowedMethodsResponse>
...
                <id:serviceCode>receiveDocuments</id:serviceCode>
            </xroad:service>
CODE

Kui teenuste kasutusõiguseid ei ole antud, siis on päringu vastus tühi:

<SOAP-ENV:Body>
        <xroad:allowedMethodsResponse/>
</SOAP-ENV:Body>
CODE


Teenuse WSDL'i pärimise ehk getWSDL näide:

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:id="http://x-road.eu/xsd/identifiers"
xmlns:xroad="http://x-road.eu/xsd/xroad.xsd">
    <SOAP-ENV:Header>
        <xroad:client id:objectType="SUBSYSTEM">
            <id:xRoadInstance>ee-dev</id:xRoadInstance>
            <id:memberClass>GOV</id:memberClass>
            <id:memberCode>70006317</id:memberCode>
            <id:subsystemCode>riha</id:subsystemCode>
        </xroad:client>
        <xroad:service id:objectType="SERVICE">
            <id:xRoadInstance>ee-dev</id:xRoadInstance>
            <id:memberClass>GOV</id:memberClass>
            <id:memberCode>70006317</id:memberCode>
            <id:subsystemCode>aar</id:subsystemCode>
            <id:serviceCode>getWsdl</id:serviceCode>
        </xroad:service>
        <xroad:id>Sisesta_Siia_UUID</xroad:id>
        <xroad:protocolVersion>4.0</xroad:protocolVersion>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <xroad:getWsdl>
            <xroad:serviceCode>oigused</xroad:serviceCode>
            <xroad:serviceVersion>v1</xroad:serviceVersion>
        </xroad:getWsdl>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
CODE