Aquo Domeintabellen Services (Aquo DS) Handleiding Webservice



Vergelijkbare documenten
Publicatiedatum 18 juni 2013 Aquo Domeintabellen Status definitief impact: Fase update procedure

Eindtoets XML: Theorie en toepassingen

Stappenplannen MailPlus SOAP API

Wijzigingsvoorstel (RfC) voor de Aquo domeintabellen Classificatie KRW Biologie en Classificatie KRW Chemie

Met deze handleiding moet u in staat zijn om zelf een mobile applicatie te ontwikkelen voor offline gebruik met een filter.

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

W Foutherstel CSV encoding UM Aquo Metingen

W Uniformeren schrijfwijze metastabiele parameters

uiterlijk op 17 mei 2013 binnen te zijn. Toevoegen van een extra (optioneel) attribuut metadata aan de klasse Waarde in UM Aquo - metingen

BoToVa-service.nl Toetsing en Validatie Service

Foutherstel (trans-)fluoxastrobin vervallen 2-butoxyacetaat pyraflufen / pyraflufen-ethyl

Aquo Domeintabellen Services (Aquo DS) Gebruikershandleiding

Wijzigingsvoorstel (RfC) op het Logische Model Aquo (LMA) Extra attributen voor Gedraineerd gebied

Wijzigingsvoorstel (RfC) op de Aquo domeintabellen Parameter en Waarnemingssoort Verwijderen Ebeo-karakteristieken op watertype niveau

Basisregistratie Ondergrond (BRO) Testen verbinding webservices met SoapUI Booronderzoek. Datum 28 maart 2017 Status Versie 1.0

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service.

Wijzigingsvoorstel op de Aquo domeintabellen TCN vervangen door Taxa Waterbeheer Nederland (TWN)

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Een gelinkte lijst in C#

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

IMP Uitwerking week 13

Wijzigingsvoorstel (RfC) op Aquo-lex Aanpassen begrip Waarnemingssoort

Handleiding online publiceren agenda Visual Rental Dynamics

INFITT01 - Internettechnologie WEEK 8

Microsoft Dynamics CRM 2011

ASP.NET Test Jan Van Ryckeghem

Technische FAQ koppelvlak WUS 2.0 voor bedrijven

Handleiding voor implementatie WEBSERVICE GEOCODEREN

Aanduiding Laboratorium vs In-situ meting MIDDEL

Overerving & Polymorfisme

DOMjudge teamhandleiding

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Wijzigingsvoorstel (RfC) op het Uitwisselmodel Aquo Foutherstel attribuut Chemische Stof

Modelleren en Programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Labo 1 Programmeren II

Gegevenskoppeling BoekenRoute

Versturen van vanuit een Delphi VCL toepassing

ONTWIKKELAARS- HANDLEIDING MODULE DOCUMENTENSERVICES 3

API Specificatie Doc

DIAGNOSTISCHE TOETS Softwaresystemen UITWERKING

Werken op afstand via internet

Modelleren en Programmeren

Consolit Modules (C4) Handleiding BTW-nummer verificatie

XML Web Services of.net Remoting? W ANNEER GEBRUIK JE WELKE TECHNOLOGIE VOOR DE AANROEP VAN REMOTE SERVICES

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Machtigingen in Outlook en Outlook webmail. Windows XP SP 3. Bestemd voor: Medewerkers Versie: 0.2 Datum: Eigenaar: SSC ICT

Siemens workpoints en DHCP options

File Uploads met standaard ASP.NET

Reglement overleg Informatiehuis Water

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Wijzigingsvoorstel (RfC) op het Logische Model Aquo (LMA)

Uitbreiding van UM Aquo cluster metingen, toevoegen optioneel attribuut Identificatie waarnemingssoort aan klasse WaardeReeks MIDDELGROOT

Dergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.

Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, uur

Modelleren en Programmeren

Datastructuren Werkcollege Intro

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Werken met ActiveX (COM) componenten in.net

Programmeren in Java 3

HDN SOFTWARE REFERENCE MANUAL

Testrapport MDC WUS. Testrapport MDC WUS

70 513: Windows Communication Foundation Development with Microsoft.Net Framework 4.0. Eaverae s Microsoft Certified Technology Specialist Series

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

1. WAT STAAT ER OP DE BORD HET LEERBORD TESTEN DE PC-VERBINDING TESTEN... 6

Implementatie AssurePay ASP.NET. ideal

Game of Life in Java

Peridos Invulinstructie labaanvraagformulier NIPT

Handleiding Osiris Student Aanvraag voor een buitenlandverblijf en invoeren van verblijfsgegevens en contactadressen

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Organiseer uw verschillende SOAP services in één scenario

TESonline handleiding Antibiotica

Technische Handleiding BoToVa-Service

Versie informatie webservices

uziconnect Installatiehandleiding

Solution Builder Lines. User Guide

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur

Dynamisch Programmeren. Het Rugzakprobleem

Tentamen Imperatief Programmeren

Alle rechten voorbehouden aan ChainWise

TECHNISCHE HANDLEIDING MESSAGESERVICE WEBSERVICE

ZEKER WETEN-tool MJO-begroting Een uitgave van Reed Business bv

Technische Documentatie TaxatieVoertuig A2SP 2015

Oefeningen Java Oplossingen

Thuisgebruik Fontys mail met Outlook 2003

Cloudbackup. Whitelabel Handleiding. Versie: [10:25] Medewerkers Previder

Solution Builder Lines. User Guide

MA!N Rapportages en Analyses

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 11 maart Versie 1.1.0

Handleiding. Documentbeheer. PlanCare 2. elektronisch cliënten dossier. G2 Paramedici het EPD voor paramedici. Handleiding. Declareren. Versie

OAS en het Kennisplatform API s. Dimitri van Hees

Gebruik van raadpleeg- en downloadservices in GIS desktop software

SMS Webservice Implementatie handleiding

WCF claims-based authorization

W Definitie waterstand, waterpeil, waterhoogte

Tool Calculeren. Handleiding

Het actuele individuele rooster van de Roosterbord instellingen Eigen taken of afspraken toevoegen Contact zoeken met begeleiders of mantelzorger.

Transcriptie:

Aquo Domeintabellen Services (Aquo DS) Handleiding Webservice handleiding voor de programmeur Auteur: Informatiehuis Water

Documentbeheer Wijzigingshistorie Datum Versie Auteur Wijziging Aat van den Heuvel Initiële versie (MX.Systems) 4 aug. 2010 1.01 Aat van den Heuvel Diverse aanpassingen o.a. (MX.Systems) wijziging in het datacontract van de web-service 26 sept. 2011 1.1 H.T. Reitsma (IHW) IHW huisstijl toegepast URL s bijgewerkt 1 dec 2011 1.2 S. van Kuijck (IHW) Tekstuele wijziging doorgevoerd in paragraaf 1.2 Review Datum Versie Reviewer Functie 20100804 1.01 Aat van den Heuvel Diverse aanpassingen o.a. wijziging (MX.Systems) in het datacontract van de webservice 12-08-2010 1.01 R. Wigmans (MX.Systems) Verwijzing naar WSDL opgenomen; (voorbeeld) output opgenomen Controle en vrijgave Datum Versie Controleur Functie Literatuurbronnen Functioneel Ontwerp Domeintabellensysteem, versie 1.4.4 (MX kenmerk P4796-R-1) pagina 2 van 9 Documentbeheer

Inhoudsopgave 1. Toepassen webservice 5 1.1 Inleiding... 5 1.2 Voeg webservice aan References toe... 5 1.3 Controleer gegenereerde app.config... 7 2. Voorbeelden gebruik methods 8 Inhoudsopgave pagina 3 van 9

1. Toepassen webservice 1.1 Inleiding Het doel van dit document is een handleiding te geven aan de programmeur bij het gebruik van de webservice van de Aquo Domeintabellen Services (Aquo DS). Het gebruik is beschreven voor een.net-applicatie in Microsoft Visual Studio. Andere client-programmeervoorbeelden zoals Java of Perl zijn niet gedocumenteerd. De aansluitvoorwaarden van de webservice zijn vastgelegd door middel van de WSDL. Tevens is hiermee de input en output beschreven. De stappen bij het beschikbaar maken van de webservice in een project zijn: Voeg de webservice aan de References toe Wijzig en controleer de gegenereerde app.config 1.2 Voeg webservice aan References toe Voeg aan de References een Service Reference toe (Add Service Reference) en geef de url van de webservice op. Dit is: http://domeintabellen-idsw-ws.rws.nl/domaintablews.svc WSDL: http://domeintabellen-idsw-ws.rws.nl/domaintablews.svc?wsdl Let op! In deze tutorial wordt er nog van uitgegaan dat de webservice benaderbaar is op: http://192.168.3.3/domaintablews/domaintablews.svc Het volgende scherm verschijnt: Na het invullen van het Address en het drukken op de Go knop verschijnt de beschikbare webservice: Toepassen webservice pagina 5 van 9

Verander eventueel de Namespace in DomaintabelWS en druk op OK. De Service reference verschijnt dan in de Solution Explorer. In de client solution zijn de proxy classes gegenereerd en kunnen gebruikt worden binnen de clientapplicatie. pagina 6 van 9 Toepassen webservice

1.3 Controleer gegenereerde app.config Microsoft Visual Studio genereert door het toevoegen van deze service reference een basis app.config toe die nog gewijzigd moet worden: <?xml version="1.0" encoding="utf-8"?> <configuration> <system.servicemodel> <behaviors> <endpointbehaviors> <behavior name="basic"> <datacontractserializer maxitemsinobjectgraph="1000000" /> </behavior> </endpointbehaviors> </behaviors> <bindings> <basichttpbinding> <binding name="basic" closetimeout="00:01:00" opentimeout="00:01:00" receivetimeout="00:10:00" sendtimeout="00:01:00" allowcookies="false" bypassproxyonlocal="false" hostnamecomparisonmode="strongwildcard" maxbuffersize="200000000" maxbufferpoolsize="524288" maxreceivedmessagesize="200000000" messageencoding="mtom" textencoding="utf-8" transfermode="streamedresponse" usedefaultwebproxy="true"> <readerquotas maxdepth="32" maxstringcontentlength="200000000" maxarraylength="200000000" maxbytesperread="4096" maxnametablecharcount="16384" /> </binding> </basichttpbinding> </bindings> <client> <endpoint address="http://192.168.3.3/domaintablews/domaintablews.svc/basic" binding="basichttpbinding" behaviorconfiguration="basic" bindingconfiguration="basic" contract="domaintablewsservice.domaintableservice" name="basic" /> </client> </system.servicemodel> </configuration> Controleer en wijzig de met geel gemarkeerde endpoint -adressen, bindings en behaviors in de app.config. De noodzakelijke aanpassingen zijn de messageencoding en transfermode en uiteraard de endpoint. De overige aanpassingen zijn alleen belangrijk indien data wordt opgehaald waarvan de grootte meer is dan standaard bij SOAP webservice is ingesteld. Toepassen webservice pagina 7 van 9

2. Voorbeelden gebruik methods In het volgende programma-voorbeeld is het gebruik van de drie mogelijke methods uitgewerkt. Deze methods zijn: GetDomainTableNames Dit is het ophalen van de namen van alle domeintabellen. GetDateLastPublished Dit is het ophalen van de laatste publicatiedatum van een domeintabel. De naam van de domeintabel dient men als parameter mee te geven. GetDomainTable Dit is het ophalen van de administrative informatie en de waarden van een domeintabel. De naam van de domeintabel dient men als parameter mee te geven. Eventueel kan men de peildatum ook opgeven. In dat geval geeft de service informatie van de domeintabel geldig op dat moment. De volgende C# code toont een heel eenvoudig voorbeeld van het gebruik van de webservice. Foutafhandeling dient in productie software uiteraard toegevoegd te worden. using System; using ConsoleApplication1.DomaintabelWS; // De gegenereerde proxy classes namespace ConsoleApplication1 class Program static void Main(string[] args) // Eerst met opgave van het type contract een proxy-object creeren var proxy = new DomainTableServiceClient("basic"); GetDomainTableNames(proxy); GetDateLastPublished(proxy, "Parameter"); GetDomainTable(proxy, "Parameter", null); private static void GetDomainTableNames(DomainTableServiceClient proxy) // Construeer request (lees alle domeintabelnamen geldig op de // gespecificeerde checkdate var request = new GetDomainTableNamesRequest CheckDate = new DateTime(2010, 5, 22); ; // In het request wordt de parameter CheckDate meegegeven var response = proxy.getdomaintablenames(request); // Ter controle de namen in het antwoord tonen foreach (var name in response.domaintablenames) Console.WriteLine(name); private static void GetDateLastPublished(DomainTableServiceClient proxy, string domeintable) var request = new GetDateLastPublishedRequest pagina 8 van 9 Voorbeelden gebruik methods

DomaintableName = domeintable ; // In het request wordt de parameter "DomaintableName" meegegeven var response = proxy.getdatelastpublished(request); // Ter controle het antwoord tonen Console.WriteLine("Last published date of domaintable '0' is 1", request.domaintablename, response.mostrecentpublicationdate.tolongdatestring()); private static void GetDomainTable(DomainTableServiceClient proxy, string domaintable, DateTime? checkdate) var request = new GetDomainTableRequest DomaintableName = domaintable, CheckDate = checkdate.getvalueordefault(datetime.now.date) ; // In het request worden de "DomaintableName" en peildatum // meegegeven. Men mag de peildatum weglaten (als null invoeren) var response = proxy.getdomaintable(request); // Ter controle het antwoord tonen // Eerst de Meta-data van de domeintabel (dwz de structuur) Console.WriteLine("Metadata of domaintable 0:", response.name); foreach (var row in response.domaintable.metadata) Console.Write("0\t1\t2\t3\t4", row.columnnumber, row.name, row.fieldlength, row.required, row.datatype); Console.WriteLine(); Console.WriteLine("Data of domaintable 0:", response.name); // Vervolgens de waarderijen van de domeintabel foreach (var row in response.domaintable.data) Console.Write("0...1: ", row.begindate.tostring("dd-mm-yyyy"), row.enddate.tostring("dd-mm-yyyy")); foreach (var field in row.fields) if (field is StringField) Console.Write("\"0\" ", ((StringField)field).Data); else if (field is IntegerField) Console.Write("0 ", ((IntegerField)field).Data); else if (field is DoubleField) Console.Write("0 ", ((DoubleField)field).Data); else if (field is BooleanField) Console.Write("0 ", ((BooleanField)field).Data); else if (field is DateTimeField) Console.Write("0 ", ((DateTimeField)field).Data.ToString("yyyy-MM-dd HH:mm:ss")); Console.WriteLine(); Voorbeelden gebruik methods pagina 9 van 9