Use a Process Developer wizard to automatically create variable properties and property aliases. (This is described in
Adding Variable Properties and Property Aliases
). The wizard generates WSDL code, as the following examples show.
The WSDL syntax for a property name is:
<wsdl:definitions name="NCName"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop">
<vprop:property name="NCName"
type="QName"?
element="QName"?/>
...
</wsdl:definitions>
The WSDL syntax for a property alias is:
<wsdl:definitions name="NCName"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop">
<vprop:propertyAlias propertyName="QName"
messageType="QName"?
part="NCName"?
type="QName"?
element="QName"?>
<vprop:query queryLanguage="anyURI"?>?
queryContent
</vprop:query>
</vprop:propertyAlias>
...
</wsdl:definitions>
Property and Property Alias Example
Consider the following message definition:
<wsdl:definitions name="messages"
targetNamespace="http://example.com/taxMessages.wsdl"
xmlns:txtyp="http://example.com/taxTypes.xsd"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<!-- define a WSDL application message -->
<wsdl:message name="taxpayerInfoMsg">
<wsdl:part name="identification"
element="txtyp:taxPayerInfoElem" />
</wsdl:message>
...
</wsdl:definitions>
The following WSDL fragment shows the definition of a property and its location in a particular field of the message:
<wsdl:definitions name="properties"
targetNamespace="http://example.com/properties.wsdl"
xmlns:tns="http://example.com/properties.wsdl"
xmlns:txtyp="http://example.com/taxTypes.xsd"
xmlns:txmsg="http://example.com/taxMessages.wsdl" ...>
<!-- define a correlation property -->
<vprop:property name="taxpayerNumber" type="txtyp:SSN" />
...
<vprop:propertyAlias propertyName="tns:taxpayerNumber"
messageType="txmsg:taxpayerInfoMsg"
part="identification">
<vprop:query>txtyp:socialsecnumber</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias propertyName="tns:taxpayerNumber"
element="txtyp:taxPayerInfoElem">
<vprop:query>txtyp:socialsecnumber</vprop:query>
</vprop:propertyAlias>
</wsdl:definitions>
The first
<vprop:propertyAlias>
defines a named property
tns:taxpayerNumber
as an alias for a location in the identification part of the message type
txmsg:taxpayerInfoMsg
.
The second
<vprop:propertyAlias>
provides a second definition for the same named property
tns:taxpayerNumber
but this time as an alias for a location inside of the element
txtyp:taxPayerInfoElem
.
The presence of both aliases means that it is possible to retrieve the social security number from both a variable holding a message of messageType
txmsg:taxpayerInfo
as well as an element defined using
txtyp:taxPayerInfoElem
.