We will see how the web service invoker service of YAWL can be used. We will create a workflow that invokes a publicly available web service.
The first thing to check is if the YAWL web service invoker is installed. In the YAWL control panel click on Updates. In the line yawlWSInvoker check the mark if it is not checked and click Update.
We create a new workflow and a task with a new decomposition called "Invoke WS". We choose the webServiceInvoker service as the custom service of this decompostion. The editor will then insert the following three task variables:
We create corresponding net variables and map them to the created task variables via an input mapping.
Next we look for a simple web service that is publicly available:
shows a web service that does calculations. We can use it to add two numbers x and y and get the result. We add the net variable x, y, and Result to the net and insert two tasks that do the input and output to the user. We initialise our net variables in order to access our web sevice like this:
- YawlWSInvokerWSDLLocation: http://soaptest.parasoft.com/calculator.wsdl
- YawlWSInvokerPortName: ICalculator
- YawlWSInvokerOperationName: add
That's all. Workflow is attached here.