...
De api koppeling die naast de featureinfo is ingericht komt , binnen de featureinfo, als tabblad/button beschikbaar. Door hier op te klikken wordt een request naar de fme server webhook verstuurd ( met het bijbehorende bro_id) en wordt ( in dit geval) het bodemprofiel grafisch teruggeleverd.
...
Opdracht:
1-Ontwikkel en implementeer met FME een API koppeling om de bodemprofielen als grafiek in de featureinfo te kunnen bekijken.
Iedere REST interface vraagt kennis over de opbouw en de inhoud die de Rest services leveren. Meestal worden de Rest services in een vorm gepresenteerd (bv swagger UI) waarmee de gebruiker individuele endpoints kan testen.
Info |
---|
We gaan eerst de te nemen stappen uitvoeren op de swagger_UI van de BRO rest interface. Vervolgens gaan we deze stappen geautomatiseerd opnemen in een FME script. |
Bekijk de REST services op BRO Rest services, we zien hier dat er twee sets van endpoints worden gegeven:
...
opm: xml header uit de SVG response moet nog worden verwijdert. Dit kan bv met:
Maak zelf een attribuut aan in de json writer waarin het SVG resultaat wordt geplaatst.
...
Als het script goed werkt kan het naar FME server worden gebracht om als 'convienient API' te worden gebruikt voor Onemap.
2-Uploaden naar FMEServer en inrichten als webhoook
Upload het script naar fme server. Dit kan via de publish knop in de menubar.
Gebruik de reeds aanwezige connectie (meteen naar next)
Selecteer de repositry 'workshop', en geef de fme script de prefix die overeenkomt met de workshop kaart waarin je aan het werk gaat ( bv: BRO_boring_workshop_1)
Registreer de service als een 'Data Streaming' service en publiceer:
We gaan nu op FMEServer het FME script inrichten als een 'FME Webhook'. Deze webhook kan daarna in Onemap worden opgenomen en worden ingericht om het antwoord van het fme script vanuit dee object-featureinfo op te halen.
Open workshop fmeserver en login met:
gebruiker=workshop
paswoord=pohskrow
Selecteer repository=workshop en workspace= 'jouw script'
Kies vervolgens onder ‘workspace actions' voor 'create webhook’
Een FME Server Webhook vormt een API-endpoint dat met een api-key is geauthoriseerd.
Download de webhook configuratie instellingen en bewaar deze.
...
Configureer de API koppeling in Onemap
Log in op de workshop workspace
Er zijn 5 kaartbeheerders en 5 beschikbare kaarten. Je krijgt hiervoor een nummer toegewezen.
gebruiker = workshop_FME_1
paswoord = workshop_FME_1
Allereerst wordt het basis endpoint toegevoegd bij de API-configuraties in de workspace systeem instellingen.
Het basis endpoint bevat de basis-URL ( alles tot het ? ) en een HTML header met de benodigde authorizatie.
Open nu de aan jouw toegewezen workshop kaart (bv FME workshop 1)
We kunnen nu de API/WebHook aanroep inrichten door de BRO_ID parameter in de aanroep toe te voegen.
1-Kies de zojuist ingerichte api-koppeling en breid deze uit met de benodigde parameter waarde van het aangeklikte feature.
2-Voeg ( in broncode modus) de twig statements toe om de json inhoud te visualiseren.
...