In diesem Beitrag wird dargestellt, welche Angaben im Web Service-Konnektor in Bonita für den Aufruf des Börsenkurs-Web Service erforderlich sind. Dieser Aufruf wurde im Prozess Aktienkursabfrage verwendet. Die meisten Einträge basieren auf der hier beschriebenen WSDL-Datei des Börsenkurs-Service.
Es wird der in Bonita 6 Community Edition mitgelieferte Konnektor WebService SOAP1.2 (1.0.0) verwendet. Ein nützliches Beispiel zur Verwendung dieses Konnektors findet sich auch unter:
http://documentation.bonitasoft.com/web-service-connector-tutorial
Nachfolgend werden die Eintragungen in den Wizard für diesen Konnektor erläutert.
Die Eintragungen auf der ersten Seite „Verbindungsparameter“ sind:
- Benutzername und Passwort sind leer, da der verwendete Web Service diese nicht benötigt.
- Service-NS: Der Namespace des Service, in der WSDL als Wert für „targetNamespace“ eingetragen.
- Service-Name: Der Name des Service (im letzten Abschnitt der WSDL)
Die Eintragungen auf der zweiten Seite „Anforderungsparameter“ sind:
- SOAPAktion: In der WSDL im „binding“ als Wert von „soapAction“ eingetragen.
- Portname: In der WSDL im Abschnitt „service“ als „name“ des „port“ eingetragen.
- Endpunkt-Adresse: In der WSDL im Abschnitt „service“ bei der „address“ des „port“ als „location“ eingetragen.
- Bindung: In der WSDL steht unter „binding“ eigentlich http://schemas.xmlsoap.org/soap/http. Der Konnektor funktioniert aber nur, wenn man abweichend hiervon http://www.w3.org/2003/05/soap/bindings/HTTP/ einträgt.
- Envelope: Hier wird der eigentliche Nachrichteninhalt eingetragen. Den Aufbau dieses Requests lässt man sich am besten von einem anderen SOAP-Client generieren, z. B. unter http://www.soapclient.com/soaptest.html (Request anzeigen lassen, dann Seitenquelltext anzeigen lassen) oder mit dem Eclipse Plugin Web Services Explorer (dieser unterstützt nur SOAP 1.1, die Nachricht ist aber analog aufgebaut). Der Eintrag ${firmensymbol} in der Nachricht wird beim Aufruf durch den Wert der Prozessvariablen „firmensymbol“ ersetzt.
Wichtig: Es sind immer die Eintragungen vorzunehmen, die sich auf SOAP12 beziehen, da der Konnektor nur SOAP Version 1.2 unterstützt.
Da keine weiteren Parameter verwendet werden, sind auf der nächsten Seite keine Einträge erforderlich:
Die Antwort wird standardmäßig im Body der Nachricht zurückgegeben. Dies wird im nächsten Fenster angegeben:
Schließlich erfolgt noch die Zuordnung des Ergebnisses zu einer Prozessvariablen:
„ergebnis“ ist hier vom Typ „java.util.Map“. Das verwendete Groovy-Skript wandelt die im XML-Format erhaltene Antwort des Web Service in eine Map um. Es orientiert sich an dem Beispiel aus dem bereits erwähnten Tutorial: http://documentation.bonitasoft.com/web-service-connector-tutorial