Na de introductie van een design element in Lotus Domino 7 voor een webservice provider, voegt nu Lotus Domino 8 ondersteuning voor een webservice consumer toe aan de designer client. Hiermee wordt het bouwen van een webservice consumer binnen Notes/Domino applicaties wel erg eenvoudig, want er zijn slechts 2 stappen voor nodig.
1. importeren WSDL in scriptlibrary
In tegenstelling tot de webservice provider is er voor de consumer geen apart design element. In plaats hiervan maken we een speciaal soort scriptlibrary (LotusScript of Java) waarin de consumer code wordt gegeneerd door het importeren van de WSDL van de aan te spreken webservice. Na het aanmaken van een nieuwe scriptlibrary is er een knop zichtbaar onderaan het scherm waarmee de WSDL geimporteerd kan worden. Zie afbeelding 1.
Afbeelding 1 De nieuwe “WSDL” knop in de ND8 designer client
Voor dit voorbeeld gebruiken we als webservice provider de echotestservice uit het artikel “Practical Web services in IBM Lotus Domino 7: Writing and testing simple Web services” (
http://www-128.ibm.com/developerworks/lotus/library/web-services2/).
Na het importeren van de WSDL kunnen we in de declarations sections de classes en methods terugvinden die door de consumer gebruikt kunnen worden. De locatie van de webservice wordt eveneens opgenomen in de code, dus het is niet nodig deze later nog mee te geven. Zie afbeelding 2.
Klik om een grotere afbeelding te tonenAfbeelding 2 De classes en methods van de webservice consumer.
Omdat een webservice consumer geen UI classes bevat kunnen we de scriptlibrary zowel gebruiken in de Notes client als op de server in een scheduled agent.
2. scriptlibrary gebruiken in applicatie
De volgende stap is om de nieuwe scriptlibrary te gebruiken in een applicatie. In dit voorbeeld gebruiken we een knop op een Lotus Notes formulier. Zie afbeelding 3.
Afbeelding 3 De scriptibrary gebruiken in een knop op een Notes formulier.
De EchoTestService doet niets anders dan het ‘echoen’ van een string. Dit kunnen we testen met de volgende code. Zie afbeelding 4.
Afbeelding 4 Met deze code nemen we de string uit het “Echo” veld, sturen het naar de echotester en zetten het resultaat in het “Result” veld.
Het resultaat van deze appicatie kunnen we zien in afbeelding 5
Afbeelding 5 Het resultaat van de applicatie.
Dat is het hele proces! U kunt hierna aan de slag.