BPEL provides three extensions to WSDL definitions: partner link types, properties, and property aliases. Each extension element is in a BPEL-specific namespace.
For partner link types:
Namespace URI: "http://docs.oasis-open.org/wsbpel/2.0/plnktype"
Usual prefix: plink
For properties and property aliases:
Namespace URI: "http://docs.oasis-open.org/wsbpel/2.0/varprop"
Usual prefix: vprop
Our examples do not show namespace URIs.
A partner link type specifies the roles that are enacted during a runtime conversation between the BPEL process and a partner service. We describe partner link types in Chapter 7.
<wsdl:definitions name="NCName" targetNamespace="anyURI" ...> <plnk:partnerLinkType name="NCName"> <plnk:role name="NCName" portType="QName" /> <plnk:role name="NCName" portType="QName" />? </plnk:partnerLinkType> </wsdl:definitions>
Here's an example.
<wsdl:definitions name="properties"> <plnk:partnerLinkType name="ProcessQuotePLT"> <plnk:role name="ProcessQuoteRole" portType="ProcessQuote" /> </plnk:partnerLinkType> <plnk:partnerLinkType name="PartnerPLT"> <plnk:role name="partnerRole" portType="RiskAnalysis" /> </plnk:partnerLinkType> </wsdl:definitions>
A property creates a name that refers to an XML Schema type. Creating a property of a given name is a prerequisite to creating a property alias. We describe properties in Chapter 7.
<wsdl:definitions name="NCName" targetNamespace="anyURI" ...> <vprop:property name="NCName" type="QName"? element="QName"? /> </wsdl:definitions>
Here's an example.
<wsdl:definitions name="properties"> <vprop:property name="quote" type="xsd:string" /> </wsdl:definitions>
A property alias allows your BPEL process associate a property name with a field in a BPEL variable. We describe property aliases in Chapter 7.
<wsdl:definitions name="NCName" targetNamespace="anyURI" ...> <vprop:propertyAlias propertyName="QName" messageType="QName"? part="NCName"? type="QName"? element="QName"?> <vprop:query queryLanguage="anyURI"?>? queryContent </vprop:query> </vprop:propertyAlias> </wsdl:definitions>
Here's an example.
<wsdl:definitions name="properties"> <vprop:propertyAlias messageType="NewPolicyRequestMsg" part="NewPolicyParameters" propertyName="tns:quote"> <vprop:query>/quote/quoteID</bpws:query> </vprop:propertyAlias> <vprop:propertyAlias messageType="statusRequestMsg" part="statusParameters" propertyName="tns:quote"> <vprop:query>/quote/quoteID</bpws:query> </vprop:propertyAlias> </wsdl:definitions>