Standaarden:ECK-DT: verschil tussen versies
(→Foutmeldingen: add default codes) |
(→Foutmeldingen: fix soap fault) |
||
Regel 88: | Regel 88: | ||
</soapenv:Header> |
</soapenv:Header> |
||
<soapenv:Body> |
<soapenv:Body> |
||
+ | <soapenv:Fault> |
||
⚫ | |||
+ | <faultcode>soapenv:client</faultcode> |
||
⚫ | |||
− | + | <faultstring>OrganisationId is niet ingevuld</faultstring> |
|
− | < |
+ | <detail> |
⚫ | |||
⚫ | |||
+ | <c:Code>10</c:Code> |
||
+ | </os:FaultMessage> |
||
+ | </detail> |
||
+ | </soapenv:Fault> |
||
</soapenv:Body> |
</soapenv:Body> |
||
</soapenv:Envelope> |
</soapenv:Envelope> |
Versie van 1 dec 2017 12:27
Digitale leermiddelen nemen ieder jaar een belangrijkere plaats in op de leermiddelenlijst van onderwijsinstellingen. Voor een foutloze distributie en toegang van digitale leermiddelen zijn uitgevers, distributeurs en leveranciers van elektronische leeromgevingen en leerlingadministratiesystemen afhankelijk van elkaar. De afspraak ECK Distributie en toegang maakt allerlei vormen van dienstverlening binnen de educatieve contentketen (ECK) mogelijk. De afspraak omvat een referentiearchitectuur met daarin relevante begrippen, de gehanteerde principes en een beschrijving van de processen, een beschrijving van de webservices en technische voorschriften.
Documentatie
Afspraak bij Edustandaard | (leidend) |
Onderdelen
- CatalogService
- overige nog niet gedocumenteerd
SOAP
De SOAP header vereist een aantal WS-Addressing velden in het verzond en ontvangstbericht.
Request
Een overzicht van de WS-A argumenten:
naam | # | type | omschrijving |
---|---|---|---|
Action | 1 | uri | de webservice specificatie identifier |
To | 1 | url | de endpoint waar het bericht naar toe verzonden wordt |
MessageID | 1 | uri | unieke berichtcode |
From | 1 | wsa:Adress met uri | afzender in uri waarbij organisationid als verplichte querystring parameter wordt opgenomen, wachtwoord idem, maar optioneel in de praktijk zullen zender en ontvanger hier een afspraak over maken. |
Voorbeeld:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action soapenv:mustUnderstand="1">http://dt2.eck.nl/service/orderservice/v2.1.1/getstockstatus</wsa:Action>
<wsa:From soapenv:mustUnderstand="1">
<wsa:Address>https://distributeur.nl?organisationid=27244834&password=X</wsa:Address>
</wsa:From>
<wsa:MessageID soapenv:mustUnderstand="1">urn:uuid:1f64216c-ec95-489d-a1c1-0d1ea3656be0</wsa:MessageID>
<wsa:To soapenv:mustUnderstand="1">https://uitgever.nl/OrderService</wsa:To>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action>http://dt2.eck.nl/service/orderservice/v2.1.1/getstockstatus</wsa:Action>
<!-- De Technische Voorschriften zijn niet volledig duidelijk hierover,
maar de aanname hier is dat het berichtenverkeer synchroon is. -->
<!-- <wsa:RelatesTo RelationshipType="http://www.w3.org/2005/08/addressing/reply">urn:uuid:7f9f9e8c-be3b-4b45-91b6-ce7c437c6967</wsa:RelatesTo> -->
<wsa:To>https://distributeur.nl?organisationid=27244834</wsa:To>
<wsa:MessageID>urn:uuid:0d7acc60-6044-4283-a2be-eb4a50ba4c97</wsa:MessageID>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
Foutmeldingen
Foutmeldingen worden teruggegeven in de SOAP Body volgens de in de Common xsd beschreven FaultMessage, en gebruik makend van de in de Technische Voorschriften voorziene foutenbijlage.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action>http://dt2.eck.nl/service/orderservice/v2.1.1/getstockstatus</wsa:Action>
<wsa:To>https://distributeur.nl?organisationid=27244834</wsa:To>
<wsa:MessageID>urn:uuid:0d7acc60-6044-4283-a2be-eb4a50ba4c97</wsa:MessageID>
</soapenv:Header>
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:client</faultcode>
<faultstring>OrganisationId is niet ingevuld</faultstring>
<detail>
<os:FaultMessage xmlns:c="http://dt2.eck.nl/schema/common/v2.1" os:xmlns="http://dt2.eck.nl/schema/orderservice/v2.1.1">
<c:FaultDescription>OrganisationId is niet ingevuld</c:FaultDescription>
<c:Code>10</c:Code>
</os:FaultMessage>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Standaard foutcodes voor alle services:
foutcode | titel/message |
---|---|
-1 | Algemene fout |
-2 | Authenticatiefout |
-200 | Berichtformaat voldoet niet aan specificatie |