PartnerLinkType Support
A service may play a single or dual role in a partnership with a business process.
In a one-way partnership the service may play a single role of provider, whereas in a two-way partnership the service may play the roles of a provider as well as a requester (for callbacks).
A service may participate in different types of partnerships with a process or another service. In each of these partnerships, the service may play a single or dual role. This type of partnership is termed as a PartnerLinkType.
PartnerLinkType Structure
To ease the task of process developers consuming PeopleSoft services, a basic PartnerLinkType structure is provided in the PeopleSoft-provided WSDL. Process developers may or may not choose to use this PartnerLinkType structure.
The following table describes details of the PartnerLinkType structure for each service operation type:
| Operation Type | PartnerLinkType Description |
|---|---|
|
Synchronous |
The PartnerLinkType has a single Provider role. |
|
Asynchronous one-way |
The PartnerLinkType has a single Provider role. |
|
Asynchronous Request/Response |
The PartnerLinkType has two roles for the Provider portType and the Requester Callback portType. |
The following sections feature examples of the PartnerLinkType structures the PeopleSoft system generates for each service operation type.
Example 1: Synchronous PartnerLinkType Structure
The following example shows the PartnerLinkType structure that the PeopleSoft system generates for an inbound synchronous service operation:
<portType name="HelloWorldSync">
<operation name="process">
<input message="client:HelloWorldSyncRequestMessage"/>
<output message="client:HelloWorldSyncResponseMessage"/>
</operation>
</portType>
<plnk:partnerLinkType name="HelloWorldSyncPLType">
<plnk:role name="HelloWorldSyncProvider">
<plnk:portType name="wsdl_target:HelloWorldSync"/>
</plnk:role>
</plnk:partnerLinkType>
Example 2: Asynchronous One-Way PartnerLinkType Structure
The following example shows the PartnerLinkType structure that the PeopleSoft system generates for an inbound asynchronous one-way service operation.
<portType name="UpdateOrderAsync">
<operation name="UpdateOrder">
<input message="client:OrderRequestMessage"/>
</operation>
</portType>
<plnk:partnerLinkType name="UpdateOrderAsyncPLType">
<plnk:role name="UpdateOrderAsyncProvider">
<plnk:portType name="wsdl_target:UpdateOrderAsync"/>
</plnk:role>
</plnk:partnerLinkType>
Example 3: Asynchronous Request/Response PartnerLinkType Structure
The following example shows the PartnerLinkType structure that the PeopleSoft system generates for an inbound asynchronous request/response service operation:
<!--
PortType definition
-->
<!-- portType implemented by the QuoteConsumer PeopleSoft service -->
<portType name="QuoteConsumer">
<operation name="GetQuote">
<input message="tns:QuoteConsumerRequestMessage"/>
</operation>
</portType>
<!-- portType implemented by the requester of QuoteConsumer PeopleSoft service
for asynchronous callback purposes
-->
<portType name="QuoteConsumerCallback">
<operation name="GetQuoteCallback">
<input message="tns:QuoteConsumerResultMessage"/>
</operation>
</portType> <!--
PartnerLinkType definition
-->
<!-- the QuoteConsumer partnerLinkType binds the service and
requestor portType into an asynchronous conversation.
-->
<plnk:partnerLinkType name="QuoteConsumerPLType">
<plnk:role name="QuoteConsumerProvider">
<plnk:portType name="wsdl_target:QuoteConsumer"/>
</plnk:role>
<plnk:role name="QuoteConsumerRequester">
<plnk:portType name="wsdl_target:QuoteConsumerCallback"/>
</plnk:role>
</plnk:partnerLinkType>
</definitions>