Standaarden:Edukoppeling/Proefopstelling/Uitvoering

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen

Opzet

TC

Java implementatie

.Net implementatie

OSOTC-Client .NET is een client/server implementatie in C#.NET dat als voorbeeld dient voor de communicatie met het OSO (Overstapservice Onderwijs) Traffic Center en de Bron- en Doelsystemen binnen het OSO domein. OSOTC-Client .NET implementeert globaal de volgende functionaliteiten; - Globale communicatie met het Traffic Center (PingRequest, Sessie starten, Sessie afsluiten, Registratie aanleverpunt); - Communicatie met een Bronsysteem vanuit de rol van Doelsysteem (DocumentRequest); - Communicatie met een Doelsysteem vanuit de rol van Bronsysteem (aanleveren van Dossier); - Communicatie met het Traffic Center vanuit de rol als Bronsysteem (SessieControle).


Voor alle bovenstaande functionaliteiten wordt gebruik gemaakt van SOAP Messaging tussen de verschillende actoren. Authenticatie vindt plaats middels OSO-Certificaten die over TLSv1.2 worden uitgewisseld. Aanvullende informatie over OSO kan gevonden worden op de OSO Wiki van Stichting Kennisnet.

Ontwikkeling

WSDL naar Proxy Class

Voor de ontwikkeling van de applicatie is de WSDL van het Traffic Center als uitgangspunt genomen. De WSDL wordt aangeboden via een TLS/SSL beveiligde verbinding, waar de standaard .NET utilities niet (eenvoudig) bij kunnen. Het is daarom aan te raden de WSDL eerst te downloaden en lokaal op te slaan.


Voor het omzetten van een WSDL naar gegenereerde code zijn uit de .NET toolset grofweg twee utilities beschikbaar; wsdl.exe en svcutil.exe. De utility wsdl.exe zet een WSDL om in een webservice, waarbij de nieuwe class SoapHttpClientProtocol overerft. Het resultaat kan gebruikt worden als ASMX webservice. De utility svcutil.exe zet een WSDL om in een WCF proxy class (interface), die gebruikt kan worden door webservices door de interface te implementeren en de class SoapHttpClientProtocol te overerven. Omdat het nieuwere WCF door Microsoft is aangemerkt om ASMX services te vervangen, is voor de ontwikkeling van deze applicatie gekozen om de webservices middels WCF te implementeren. De gebruikte commando voor de utility is als volgt: