Suomi.fi för tjänsteutvecklare
Gå direkt till innehållet.

Informationsledens testtjänster

I artikeln informeras om Informationsledens testtjänster, med vilka hjälp du kan säkerställa att installationen av anslutningsservern lyckats och testa sändningen av SOAP-meddelanden och REST-förfrågningar enligt X-Road dataöverföringsprotokollet samt hanteringen av svaren.

Anslutningsserverns kundgränssnitt, via vilket Informationsledens tjänster anropas, har formen https://{host}/. {Host}-delen ska ersättas med organisationens eget host-namn på anslutningsservern.

OBS! Det rekommenderas inte att IP-adressen används vid kontakter, eftersom det orsakar problem i anslutning till certifikat. Problem uppstår om host-namnet som används vid kontakt till anslutningsservern inte motsvarar host-namnet på anslutningsserverns certifikat.

Bekanta dig också med följande tekniska material:

Testning av SOAP-meddelanden

Värdet på Content-Type-rubrikuppgiften för begäran som sänts till anslutningsservern ska vara i formen text/xml och HTTP-metoden ska vara POST.

URL: https://{host}
Method: POST
Content-Type: text/xml

Beskrivningar av SOAP-testtjänsternaÖppnas i ett nytt fönster. finns i API-katalogen.

getRandom

GetRandom-tjänsten innehåller inga anropsparametrar. Som svar återkommer det slumpmässiga heltalet mellan 0 och 100.

Testning med kommandoprogrammet Curl

Du kan även enkelt testa en getRandom-tjänst med hjälp av kommandoraden Curl genom att ge följande kommandon:

curl -k -d @getRandom.xml --header "Content-Type: text/xml" -X POST https://{host}/

I Curl-kommandot har k-optionen använts (på engelska)Öppnas i ett nytt fönster.. Då verifieras inte certifikatet för den anropade tjänsten.

SOAP-meddelande för anrop av getRandom

Nedan visas SOAP-meddelandet som används för att bjuda in tjänsten getRandom. Innehållet som är markerat med X i Client-blocket måste ersättas med uppgifterna i det subsystem som lagts till under den egna organisationsbeteckningen. Dessutom ska den miljön av Informationsleden (FI-DEV, FI-TEST eller FI) där man vill testa SOAP-meddelandet anges som element.

Förfrågan:

<soapenv:Envelope
   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
   xmlns:iden="http://x-road.eu/xsd/identifiers"
>
   <soapenv:Header>
       <xro:client iden:objectType="SUBSYSTEM">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>XXXX</iden:memberClass>
           <iden:memberCode>XXXX</iden:memberCode>
           <iden:subsystemCode>XXXX</iden:subsystemCode>
       </xro:client>
       <xro:service iden:objectType="SERVICE">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>GOV</iden:memberClass>
           <iden:memberCode>0245437-2</iden:memberCode>
           <iden:subsystemCode>TestService</iden:subsystemCode>
           <iden:serviceCode>getRandom</iden:serviceCode>
           <iden:serviceVersion>v1</iden:serviceVersion>
       </xro:service>
       <xro:id>ID11234</xro:id>
       <xro:userId>test</xro:userId>
       <xro:protocolVersion>4.0</xro:protocolVersion>
   </soapenv:Header>
   <soapenv:Body>
       <prod:getRandom xmlns:prod="http://test.x-road.global/producer" />
   </soapenv:Body>
</soapenv:Envelope>


Exempelsvar:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:iden="http://x-road.eu/xsd/identifiers" xmlns:xro="http://x-road.eu/xsd/xroad.xsd">
   <soapenv:Header>
       <xro:client iden:objectType="SUBSYSTEM">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>XXXX</iden:memberClass>
           <iden:memberCode>XXXX</iden:memberCode>
           <iden:subsystemCode>XXXX</iden:subsystemCode>
       </xro:client>
       <xro:service iden:objectType="SERVICE">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>GOV</iden:memberClass>
           <iden:memberCode>0245437-2</iden:memberCode>
           <iden:subsystemCode>TestService</iden:subsystemCode>
           <iden:serviceCode>getRandom</iden:serviceCode>
           <iden:serviceVersion>v1</iden:serviceVersion>
       </xro:service>
       <xro:id>ID11234</xro:id>
       <xro:requestHash algorithmId="http://www.w3.org/2001/04/xmlenc#sha512">
           Doc7YT1KNpgupOTaQP+6yN2n+wEJntryCPa6i40zGIRudZf3HSgrwiZuQuB+pKJwRx2V5rsr0L/jOmaV9o9n8Q==
</xro:requestHash>
       <xro:userId>test</xro:userId>
       <xro:protocolVersion>4.0</xro:protocolVersion>
   </soapenv:Header>
   <soapenv:Body>
       <ts1:getRandomResponse xmlns:ts1="http://test.x-road.global/producer">
           <ts1:data>42</ts1:data>
       </ts1:getRandomResponse>
   </soapenv:Body>
</soapenv:Envelope>


helloService

HelloService-tjänsten innehåller en name-anropsparameter och returnerar som svar en hälsning till det angivna namnet.

Testning med kommandoprogrammet Curl

Med Curl-kommandoradprogrammet kan du enkelt testa helloService-tjänsten med följande kommandon:

curl -k -d @helloService.xml --header "Content-Type: text/xml" -X POST https://{host}/

I Curl-kommandot har k-optionen använts (på engelska)Öppnas i ett nytt fönster.. Då verifieras inte certifikatet för den anropade tjänsten.

SOAP-meddelande för anrop av helloService-tjänsten

Nedan visas SOAP-meddelandet som används för att kontakta helloService-tjänsten. Innehållet som är markerat med X i Client-blocket måste ersättas med uppgifterna i det subsystem som lagts till under den egna organisationsbeteckningen. Dessutom ska den miljön av Informationsleden (FI-DEV, FI-TEST eller FI) där man vill testa SOAP-meddelandet anges som element.

Förfrågan:

<soapenv:Envelope
       xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
       xmlns:iden="http://x-road.eu/xsd/identifiers"
>
   <soapenv:Header>
       <xro:client iden:objectType="SUBSYSTEM">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>XXXX</iden:memberClass>
           <iden:memberCode>XXXX</iden:memberCode>
           <iden:subsystemCode>XXXX</iden:subsystemCode>
       </xro:client>
       <xro:service iden:objectType="SERVICE">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>GOV</iden:memberClass>
           <iden:memberCode>0245437-2</iden:memberCode>
           <iden:subsystemCode>TestService</iden:subsystemCode>
           <iden:serviceCode>helloService</iden:serviceCode>
           <iden:serviceVersion>v1</iden:serviceVersion>
       </xro:service>
       <xro:id>ID11234</xro:id>
       <xro:userId>test</xro:userId>
       <xro:protocolVersion>4.0</xro:protocolVersion>
   </soapenv:Header>
   <soapenv:Body>
       <prod:helloService xmlns:prod="http://test.x-road.global/producer">
           <prod:name>Erkki Esimerkki</prod:name>
       </prod:helloService>
   </soapenv:Body>
</soapenv:Envelope>

Exempelsvar:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:iden="http://x-road.eu/xsd/identifiers" xmlns:xro="http://x-road.eu/xsd/xroad.xsd">
   <soapenv:Header>
       <xro:client iden:objectType="SUBSYSTEM">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>XXXX</iden:memberClass>
           <iden:memberCode>XXXX</iden:memberCode>
           <iden:subsystemCode>XXXX</iden:subsystemCode>
       </xro:client>
       <xro:service iden:objectType="SERVICE">
           <iden:xRoadInstance>FI-TEST</iden:xRoadInstance>
           <iden:memberClass>GOV</iden:memberClass>
           <iden:memberCode>0245437-2</iden:memberCode>
           <iden:subsystemCode>TestService</iden:subsystemCode>
           <iden:serviceCode>helloService</iden:serviceCode>
           <iden:serviceVersion>v1</iden:serviceVersion>
       </xro:service>
       <xro:id>ID11234</xro:id>
       <xro:requestHash algorithmId="http://www.w3.org/2001/04/xmlenc#sha512">
           NcckU0J6OXU88GxhsNH/4/CZlunAscUl+Xi65CBQe6dO+yiSubms1RssbLRSarh/LfwaGkJuiIQrm7fARRtoFg==
</xro:requestHash>
       <xro:userId>test</xro:userId>
       <xro:protocolVersion>4.0</xro:protocolVersion>
   </soapenv:Header>
   <soapenv:Body>
       <ts1:helloServiceResponse xmlns:ts1="http://test.x-road.global/producer">
           <ts1:message>Hello Erkki Esimerkki! Greetings from adapter server!</ts1:message>
       </ts1:helloServiceResponse>
   </soapenv:Body>
</soapenv:Envelope>Testning av REST-tjänster


Testning av REST-tjänster

GET rest-test/random

rest-test/random-tjänsten innehåller inte anropsparametrar. Som svar återkommer det slumpmässiga heltalet mellan 0 och 100.

Testning med kommandoprogrammet Curl

För att testa tjänsten kan du enkelt använda Curl-kommandoradprogrammet och exempelförfrågan nedan. I exemplet måste innehåll märkta med X i client ersättas med uppgifterna i det undersystem som lagts till under den egna organisationsbeteckningen. I exemplet har man använt FI-TEST-miljön. I stället för detta kan man använda namnet på den informationsledsmiljö (FI-DEV, FI-TEST eller FI) där man vill testa REST-meddelandet. 

I Curl-kommandot har -k-optionen använtsÖppnas i ett nytt fönster.. Då verifieras inte certifikatet för den anropade tjänsten.

Förfrågan

curl -k -H 'X-Road-Client: FI-TEST/XXXX/XXXX/XXXX' -H 'accept: application/json'  -i
https://{host}/r1/FI-TEST/GOV/0245437-2/TestService/rest-test/randomEsimerkkivastaus

Exempelsvar

HTTP/1.1 200
Date: Wed, 13 Dec 2023 09:53:47 GMT
Content-Type: application/json
x-road-id: FI-TEST-e6821729-a81d-49a8-a807-56a9bec0c022
x-road-client: FI-TEST/XXXX/XXXX/XXXX
x-road-service: FI-TEST/GOV/0245437-2/TestService/rest-test
x-road-request-id: 558e8c41-fbe9-4370-941f-b802f11e5615
x-road-request-hash:
wH7FYkzHW1T/1mBaGgTXAjZV1kBCJkjmxBa58JntVZ2Imc4qmjXOHoY4WHO5uZczGxxuWJqVKsCiBkfEmm9ytg==
Content-Length: 11
{"data":11}


GET rest-test/hello

resttest/hello-tjänsten kan ges ett name-värde som query-parameter. Som svar på den angivna name-parametern returnerar tjänsten en hälsning till det angivna namnet.

Testning med kommandoprogrammet Curl

För att testa tjänsten kan du använda Curl-kommandoradprogrammet och exempelförfrågan nedan. Innehåll som märkts med X i client måste ersättas med uppgifterna i det undersystem som lagts till under den egna organisationsbeteckningen.

I exemplet har man använt FI-TEST-miljön. I stället för detta kan man använda namnet på den av Informationsledens miljöer (FI-DEV, FI-TEST eller FI) där man vill testa REST-meddelandet. I Curl-kommandot har -k-optionen använtsÖppnas i ett nytt fönster.. Då verifieras inte certifikatet för den anropade tjänsten.

Förfrågan

curl -k -H 'X-Road-Client: FI-TEST/XXXX/XXXX/XXXX' -H 'accept: application/json'  -i
https://{host}/r1/FI-TEST/GOV/0245437-2/TestService/rest-test/hello?name=Erkki%20Esimerkki

Exempelsvar

HTTP/1.1 200
Date: Wed, 13 Dec 2023 12:05:34 GMT
Content-Type: application/json
x-road-id: FI-TEST-0cc79ae0-2cce-4593-9345-8297a8585d5f
x-road-client: FI-TEST/GOV/0245437-2/TestClient
x-road-service: FI-TEST/GOV/0245437-2/TestService/rest-test
x-road-request-id: 5a703f7b-2cfc-4e94-8e52-c9b749631a2f
x-road-request-hash:
slYoi7VWZdpPBiPawebuBMbkFRP29cGylqkZb2lxYdOxc5xPb5cKn6MWnLyJ2UaJchJ5PQ83/uX8bfDgdzeGIw==
Content-Length: 67
{"message":"Hello Erkki Esimerkki! Greetings from adapter server!"}



Uppdaterad: 28.10.2024

Är du nöjd med innehållet på denna sida?