Calling a Web Service
This section describes some general points that you need to be aware of when implementing a call to a web service from a process, and how to call a web service from a process.
Using Web Services provides general information about using web services with processes.
See also the following tutorials:
- How to Call an External Web Service From a Process
- How to Call a Secured External Web Service From a Process
- How to Call a Virtualized Service from a Process
- Using Credential Mapping to Associate a Specific Identity with a Process Instance
A process can invoke web service operations provided by other processes or applications. In this case, the process acts as the service consumer in the conversation.
Service Types
A process can call two types of service:
- an internal service, provided by an application hosted in the BPM runtime. The application being called can itself be another BPM process that is exposing one or more service operations.
- an external (web) service provided by an external application (that is, an application that is not hosted in the BPM runtime).
Service Bindings and WSDLs
A process can call a service whose endpoint is exposed on the following types of binding:
- a
virtualization binding. A virtualization binding can be provided only by an internal service (one hosted in the BPM runtime).
You must use an abstract WSDL to call a service exposed on a virtualization binding.
- a
SOAP binding. A SOAP binding can be provided either by an external service or by an internal service.
You must use a concrete WSDL to call a service exposed on a SOAP binding.
Note: If you need to enforce a security policy when calling an internal service, you must use a concrete WSDL to call the service on its SOAP binding. See Configuring Security on an Outgoing Service Call .)
Service Development - Contract First or Contract Last
TIBCO Business Studio allows you to use either a contract first or contract last approach to developing the service call, depending on which suits your requirements:
- Contract first (or top-down): You obtain the WSDL that defines the service contract from the service provider, then configure the process to send and receive the appropriate data.
- Contract last (or bottom-up): You first define the process data that you want to send and receive, then generate a WSDL that defines the service contract. The service provider must then implement the service to send and request that data.