Cisco Process Orcehstrator (CPO) ships with the webservices adapter that can be used to make Web Service API call to REST or SOAP based applications. Before a sample workflow to make SOAP API calls using CPO, lets understand some of the fundamentals.
WSDL documents describes a web service. WSDL also specifies the location of the service and the operations (or methods) the service exposes. WSDL (Web Services Description Language) is an XML-based language for describing Web services and how to access them. WSDL is a text based document that is written in XML. So in essense a WSDL document is just a simple XML document.
But the question is what makes it WSDL if it is just simple XML? The answer is that there are some elements in WSDL that actually makes it WSDL. Following is the description of some of these elements
The data type (integer, string etc.)used by web service
The messages used by web service
The operations perfomed by web service
The communication protocols used by the web service
SOAP and Web Service
SOAP is a simple XML-based protocol that allows applications to exchange information over HTTP. SOAP is a protocol for accessing a web service.
Web services can convert your applications into web-applications.
Hence, once the application is converted into a web-application, it will be published or definied by using WSDL format. And once it is published or definied using WSDL format, it can now be accessed via SOAP (or REST) based API calls.
Sample Web Services
You can browse to a sample web service at the following URL
Notice that when you browse to the above web service, it is going to show you a description of what this Web Service application does and how to call it. This structure can be followed as a best practice when designing any Web Services based application. The main idea is to provide users a meaningful description of what this WebServices does etc.
Following is a screenshot from the above URL
The above URL only specifies the description of the WebService application. In order to check the way it was published, one must hit the WSDL URL for the above application.
The binding element has two attributes - name and type.
The name attribute defines the name of the binding, and the type attribute points to the port for the binding.
The soap:binding element has two attributes - style and transport.
The style attribute can be "rpc" or "document". The transport attribute defines the SOAP protocol to use.
The operation element defines each operation that the port exposes. For each operation the corresponding SOAP action has to be defined. You must also specify how the input and output are encoded. In this case we use "literal".
Now lets us focus on the actual workflow development using CPO.
Cisco Process Orcehstrator Workflow Development
First step is to create a WebServices target that will connect (every time the workflow is being executed) to the webservices base URL.
Web Service Execute
Once the target is create, create a new process or workflow. Into the CPO workflow/process editor drag and drop Web Service Execute native activity. Enter the relative Url for the webservice. In the following example the webservice was written using VBScrip and hosted on the .NET server. This is evidient from the .asmx extension. .ASMX is the ASP.NET file extension for XML Web Services.
Select The Method
Before moving ahead, verify the WSDL URL
Now highlight on the Method's name to pick one.
Now execute the script.Notice the observed Url field.