Schema Central > WS-BPEL 2.0 > ws-bpel_executable.xsd > process
Advanced search
Need SOA Help?

Recommended Reading:

Web Service Contract Design and Versioning for SOA

 

Definitive XML Schema

 

process

				This is the root element for a WS-BPEL 2.0 process.
			

Element information

Type: tProcess

Properties: Global, Qualified

Content

Attributes

NameOccTypeDescriptionNotes
Any attribute[0..*]Namespace: ##other, Process Contents: laxfrom type tExtensibleElements
name [1..1]xsd:NCName
targetNamespace [1..1]xsd:anyURI
queryLanguage [0..1]xsd:anyURIDefault value is "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0".
expressionLanguage [0..1]xsd:anyURIDefault value is "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0".
suppressJoinFailure [0..1]tBooleanDefault value is "no".
exitOnStandardFault [0..1]tBooleanDefault value is "no".

Sample instance

<process         name="purchaseOrderProcess"
         targetNamespace="http://example.com/ws-bp/purchase">
   <documentation xml:lang="EN">A simple example of a WS-BPEL process for handling a purchase order.</documentation>
   <partnerLinks>
      <partnerLink name="purchasing" partnerLinkType="lns:purchasingLT" myRole="purchaseService"/>
      <partnerLink name="invoicing" partnerLinkType="lns:invoicingLT" myRole="invoiceRequester"
                   partnerRole="invoiceService"/>
      <partnerLink name="shipping" partnerLinkType="lns:shippingLT" myRole="shippingRequester"
                   partnerRole="shippingService"/>
      <partnerLink name="scheduling" partnerLinkType="lns:schedulingLT"
                   partnerRole="schedulingService"/>
   </partnerLinks>
   <variables>
      <variable name="PO" messageType="lns:POMessage"/>
      <variable name="Invoice" messageType="lns:InvMessage"/>
      <variable name="shippingRequest" messageType="lns:shippingRequestMessage"/>
      <variable name="shippingInfo" messageType="lns:shippingInfoMessage"/>
      <variable name="shippingSchedule" messageType="lns:scheduleMessage"/>
   </variables>
   <faultHandlers>
      <catch faultName="lns:cannotCompleteOrder" faultVariable="POFault"
             faultMessageType="lns:orderFaultType">
         <reply partnerLink="purchasing" portType="lns:purchaseOrderPT"
                operation="sendPurchaseOrder"
                variable="POFault"
                faultName="cannotCompleteOrder"/>
      </catch>
   </faultHandlers>
   <sequence>
      <receive partnerLink="purchasing" portType="lns:purchaseOrderPT"
               operation="sendPurchaseOrder"
               variable="PO"
               createInstance="yes">
         <documentation>Receive Purchase Order</documentation>
      </receive>
      <flow>
         <documentation>
                    
                    A parallel flow to handle shipping, invoicing and
                    
                    scheduling
                    
                </documentation>
         <links>
            <link name="ship-to-invoice"/>
            <link name="ship-to-scheduling"/>
         </links>
         <sequence>
            <assign>
               <copy>
                  <from>$PO.customerInfo</from>
                  <to>$shippingRequest.customerInfo</to>
               </copy>
            </assign>
            <invoke partnerLink="shipping" portType="lns:shippingPT" operation="requestShipping"
                    inputVariable="shippingRequest"
                    outputVariable="shippingInfo">
               <documentation>Decide On Shipper</documentation>
               <sources>
                  <source linkName="ship-to-invoice"/>
               </sources>
            </invoke>
            <receive partnerLink="shipping" portType="lns:shippingCallbackPT"
                     operation="sendSchedule"
                     variable="shippingSchedule">
               <documentation>Arrange Logistics</documentation>
               <sources>
                  <source linkName="ship-to-scheduling"/>
               </sources>
            </receive>
         </sequence>
         <sequence>
            <invoke partnerLink="invoicing" portType="lns:computePricePT"
                    operation="initiatePriceCalculation"
                    inputVariable="PO">
               <documentation>
                            
                            Initial Price Calculation
                            
                        </documentation>
            </invoke>
            <invoke partnerLink="invoicing" portType="lns:computePricePT"
                    operation="sendShippingPrice"
                    inputVariable="shippingInfo">
               <documentation>
                            
                            Complete Price Calculation
                            
                        </documentation>
               <targets>
                  <target linkName="ship-to-invoice"/>
               </targets>
            </invoke>
            <receive partnerLink="invoicing" portType="lns:invoiceCallbackPT"
                     operation="sendInvoice"
                     variable="Invoice"/>
         </sequence>
         <sequence>
            <invoke partnerLink="scheduling" portType="lns:schedulingPT"
                    operation="requestProductionScheduling"
                    inputVariable="PO">
               <documentation>
                            
                            Initiate Production Scheduling
                            
                        </documentation>
            </invoke>
            <invoke partnerLink="scheduling" portType="lns:schedulingPT"
                    operation="sendShippingSchedule"
                    inputVariable="shippingSchedule">
               <documentation>
                            
                            Complete Production Scheduling
                            
                        </documentation>
               <targets>
                  <target linkName="ship-to-scheduling"/>
               </targets>
            </invoke>
         </sequence>
      </flow>
      <reply partnerLink="purchasing" portType="lns:purchaseOrderPT"
             operation="sendPurchaseOrder"
             variable="Invoice">
         <documentation>Invoice Processing</documentation>
      </reply>
   </sequence>
</process>

Site developed and hosted by Datypic, Inc.

Please report errors or comments about this site to pwalmsley@datypic.com