SOAP web service gebruik in scenario

Gemaakt door Mark Duijkers, Gewijzigd op Vr, 23 Sep, 2022 om 11:54 AM op Mark Duijkers

In Tripleforms 4 kan men gebruik maken van een SOAP web service in scenario's. Hieronder kort toegelicht worden hoe dit in zijn werk gaat. Het onderstaande voorbeeld is gemaakt in tripleforms 4.3



Het gebruik in Tripleforms


Om een SOAP service connection toe te voegen, moet je eerst naar de settings gaan. Deze kan je vinden rechts in de solution explorer, ongeveer onderaan.

Klik vervolgens op SOAP service connections en vul de gevraagde Id en WSDL Url in. Id is de naam voor de connectie en de WSDL Url is de url waar het WSDL-bestand van de betreffende webservice staat. Klik hierna op 'add' en de connectie is toegevoegd. Hieronder een plaatje als voorbeeld, met lokale waardes.




Het toevoegen van een SOAP-connectie aan een scenario.


Maak een nieuwe folder aan en daarin een scenario. Klik in het scenario op rechtermuisknop, new en dan op Scenario SOAP service call.

Geef de Soap call een Id en ga dan naar 'Connection'. Als de SOAP connection goed is toegevoegd, zie je tussen de dropdown jouw connection staan. Kies die.

Ga dan naar 'Method'. Hier zie je de methodes staan van je toegevoegde koppeling. Kies er eentje naar keuze en vul daaronder de gewenste namen voor de resultaten en returnwaardes van de call in. Onderaan kan je op 'retrieve parameters' drukken om de parameters in te vullen die bij de ingevulde methode horen. Vul deze in.


Een kort testscenario kan er als volgt uit zien:


In de Soap call kan je gebruik maken van variabelen die in voorgaand formulier zijn ingevuld, zoals [#TestSoap.TestValue] ingevuld hieronder. Vergeet niet de namespace! (#).

Nadat de Soap call is gedaan, kan je de variabelen ook uitlezen in formulieren hierop volgend. Om het aan te roepen in een formulier na de call, gebruik [SoapResult.SoapReturn] (niet letterlijk deze, maar de waardes die ingevuld zijn bij de soap call als result en return). Zie hieronder voor verduidelijking waar in dit geval de waardes vandaan komen. In [SoapResult.SoapReturn] staat dan de return waarde van de aangeroepen methode.



Het omzetten van een lijst naar een dropdown via SOAP.


Indien je een methode hebt die een lijst van waardes terugstuurt, kun je dit omzetten naar waardes in een dropdown. Hoe je dit doet zal hier laten zien worden aan de hand van voorbeelden. Hieronder is een service call aangemaakt met een methode die een lijst van vier waardes terugstuurt. 




Vervolgens maak je een dropdown aan. Klik onderaan op 'add' en verander de source naar 'Group'. Vul een waarde in bij Column text en key en klik vervolgens op 'Change'.



Vul bij 'Group' de waardes die je hebt ingevuld bij je soapcall in het scenario op de manier zoals hieronder staat. 

Vul bij 'Column mapping' bij Name de waarde in die je hiervoor aan de 'Column text' hebt gegeven en vul bij 'Value' de waarde in van de variabel uit de methode. Deze waarde is ook te vinden via het gebruik van XML (gebruik de formule [*XmlAnswers] in TriplEforms om te kijken naar de XML).


Indien het allemaal gelukt is, zie je in het formulier een dropdown met de waardes uit je methode. De gebruikte methode in deze test had een lijst met vier waardes, Hello 1 t/m 4. Iets vergelijkbaars met het plaatje hieronder zou het uiteindelijke resultaat moeten zijn. 



Het omzetten van een lijst naar een dropdown via SOAP (geavanceerde variant).


Het omzetten kan ook op een andere manier. Dit geeft men meer opties qua realisatie, maar is wel lastiger om werken te krijgen. Hoe het werkt is als volgt.

Het begin is hetzelfde als de manier hierboven, totdat je gaat kiezen waar de dropdown vandaan haalt.  Kies als 'source' Soap en klik op change (zie hieronder).



Kies vervolgens de connectie en methode die je wilt en kijk dan naar de 'Column mapping'. Vul bij 'Name' de waarde die je bij de Column text hierboven hebt gegeven en bij value een punt (heeft met XPath te maken).


Vervolgens moet een prefix gemaakt worden voor de resultaten. Klik rechtermuisknop op het lege veld en ga naar de script editor om het duidelijker te maken. Hieronder is een voorbeeld:



Dit is een voorbeeld van een XPath query. Met een XPath query selecteer je de benodigde nodes uit de XML van de call. In het voorbeeld hierboven zie je een aantal local-names die beschreven worden. GetDataListResult is de resultaten van de gebruikte testmethode, NewList de naam van de lijst waarin de waardes staan en StringValue zijn de individuele waardes. Deze path zorgt ervoor dat de waardes in de dropdown gezet worden. Let wel op, deze XPath query moet precies goed zijn om de dropdown werkend te krijgen.


Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren