Process Definition

Eine Process Definition deklariert den Prozessnamen und die Namespaces:

<process name="ncname" targetNamespace="uri"
queryLanguage="anyURI"?
expressionLanguage="anyURI"?
suppressJoinFailure="yes|no"?
enableInstanceCompensation="yes|no"?
abstractProcess="yes|no"?
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">

<partnerLinks>?
<!-- Note: At least one role must be specified. -->
<partnerLink name="ncname" partnerLinkType="qname"
myRole="ncname"? partnerRole="ncname"?>+
</partnerLink>
</partnerLinks>

<partners>?
<partner name="ncname">+
<partnerLink name="ncname"/>+
</partner>
</partners>

<variables>?
<variable name="ncname" messageType="qname"?
type="qname"? element="qname"?/>+
</variables>

<correlationSets>?
<correlationSet name="ncname" properties="qname-list"/>+
</correlationSets>

<faultHandlers>?
<!-- Note: There must be at least one fault handler or default. -->
<catch faultName="qname"? faultVariable="ncname"?>*
activity
</catch>
<catchAll>?
activity
</catchAll>
</faultHandlers>

<compensationHandler>?
activity
</compensationHandler>

<eventHandlers>?
<!-- Note: There must be at least one onMessage or onAlarm handler. -->
<onMessage partnerLink="ncname" portType="qname"
operation="ncname" variable="ncname"?>
<correlations>?
<correlation set="ncname" initiate="yes|no"?>+
<correlations>
activity
</onMessage>
<onAlarm for="duration-expr"? until="deadline-expr"?>*
activity
</onAlarm>
</eventHandlers>

activity

</process>