Create a standard BPEL activity, such as a receive, reply, or invoke. Add a partner link type definition to a new WSDL file or to an existing WSDL file.
A partner link type describes the kind of message exchange that two WSDL services intend to carry out. A partner link type characterizes this exchange by defining the roles played by each service and by specifying the port type provided by the service to receive messages appropriate to the exchange.
For an easy way to create and use partner link types and partner links, see
What are Participants?
.
A partner link type can include one role or two roles.
If a partner link type contains two roles, each of the services must implement its role by providing the specified port type. Using two roles indicates that there is a requirement for the calling service to receive some type of callback from the target service in the course of the conversation. For example, a service is invoked with a one-way operation (input message only). When it is ready to reply, it must send back a message to the process' receive activity.
If a partner link type contains only one role, no restriction exists on the calling web service regarding roles. The service described by the single role can complete the conversation simply by having its operation invoked without the need for issuing a callback.
The following illustration shows an example of a partner link type defining two roles.
For example, a partner link type named
AuctionHouse_Seller
describes two roles:
AuctionHouse
and
Seller
. The
AuctionHouse
role supports a port type of
Seller
that expects an input message of an item for sale. The
Seller
role supports a port type
Seller_Answer
that expects an input message from the auction house, regarding whether or not the item has sold. The output message is the name of the item for sale.
In this example, the port types are from the same service; however, port types can be from different services.
The partner link type is a WSDL extension. It can specify one or two roles. The port types can be from the same or from different WSDL files.
A partner link type definition can come from the following sources:
From a WSDL file where it is already defined, or where you can add a new definition.
From a separate WSDL file with its own namespace for the case where there are two port types, and they are from different services.
From a Process Developer BPEL process, where you create can a new definition and add it to a WSDL file.
You can add a new partner link type to a WSDL in the following ways:
From a Project Explorer WSDL
From a Service Reference
From an Interfaces View WSDL
These techniques are described in:
Adding a new Partner Link Type from a WSDL in Project Explorer
Adding a new Partner Link Type to a new WSDL using a Service Reference WSDL