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.