Commit 7b432d77 authored by Tiemo Bang's avatar Tiemo Bang

Compensation and combined output

parent a4bbb7af
......@@ -72,38 +72,26 @@
<bpel:variable name="conductPaymentRequest" messageType="ns:conductPaymentInput"></bpel:variable>
<bpel:variable name="shipProdctsResponse" messageType="ns:shipProductsOutput"></bpel:variable>
<bpel:variable name="shipProductsRequest" messageType="ns:shipProductsInput"></bpel:variable>
<bpel:variable name="cancelOrderRequest" messageType="ns:cancelOrderInput"></bpel:variable>
<bpel:variable name="FaultResponse" messageType="tns:NotAvaFaultMessage"></bpel:variable>
</bpel:variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<bpel:sequence name="main">
<!-- Receive input from requester.
<bpel:sequence name="main"><!-- Receive input from requester.
Note: This maps to operation defined in ConductOrder84.wsdl
-->
<bpel:receive name="receiveInput" partnerLink="client"
portType="tns:ConductOrder84"
operation="process" variable="input"
createInstance="yes"/>
--><bpel:receive name="receiveInput" partnerLink="client" portType="tns:ConductOrder84" operation="process" variable="input" createInstance="yes" />
<!-- Generate reply to synchronous request -->
<bpel:assign validate="no" name="InitStuff">
<bpel:copy>
<bpel:from><bpel:literal xml:space="preserve"><tns:ConductOrder84Response xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:result></tns:result>
</tns:ConductOrder84Response>
</bpel:literal></bpel:from>
<bpel:from><bpel:literal xml:space="preserve"><tns:ConductOrder84Response xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:result></tns:result>
</tns:ConductOrder84Response></bpel:literal></bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
......@@ -135,11 +123,72 @@
<bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:flow name="Flow">
<bpel:sequence name="Sequence"><bpel:invoke name="storeOrderDetails" partnerLink="OrderPL" operation="storeOrderDetails" portType="ns:OrderPortType" outputVariable="storeOrderDetailsResponse" inputVariable="input"></bpel:invoke>
<bpel:scope>
<bpel:faultHandlers>
<bpel:catch faultName="tns:NotAva">
<bpel:sequence>
<bpel:assign validate="no" name="AssignOutputProductNotAvailable">
<bpel:copy>
<bpel:from><bpel:literal xml:space="preserve"><tns:ConductOrder84Response2 xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:result>Product not available</tns:result>
<tns:state>1</tns:state>
<tns:failure></tns:failure>
</tns:ConductOrder84Response2>
</bpel:literal></bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
</bpel:assign>
</bpel:sequence>
</bpel:catch>
</bpel:faultHandlers>
<bpel:sequence><bpel:flow name="Flow">
<bpel:sequence name="Sequence">
<bpel:invoke name="storeOrderDetails" partnerLink="OrderPL" operation="storeOrderDetails" portType="ns:OrderPortType" outputVariable="storeOrderDetailsResponse" inputVariable="input">
<bpel:compensationHandler>
<bpel:sequence name="cancelSequence">
<bpel:assign validate="no" name="assignOrderIDCancel">
<bpel:copy>
<bpel:from>
<bpel:literal><tns:cancelOrder xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId>tns:orderId</tns:orderId>
</tns:cancelOrder>
</bpel:literal>
</bpel:from>
<bpel:to variable="cancelOrderRequest" part="cancelOrderInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="storeOrderDetailsOutput" variable="storeOrderDetailsResponse">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns:orderId]]></bpel:query>
</bpel:from>
<bpel:to part="cancelOrderInput" variable="cancelOrderRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns:orderId]]></bpel:query>
</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal xml:space="preserve"><tns:ConductOrder84Response xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:result>Compensated</tns:result>
</tns:ConductOrder84Response></bpel:literal></bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:invoke name="cancelOrder" partnerLink="OrderPL" operation="cancelOrder" portType="ns:OrderPortType" inputVariable="cancelOrderRequest"></bpel:invoke>
</bpel:sequence>
</bpel:compensationHandler>
</bpel:invoke>
<bpel:assign validate="no" name="assignOrderID"><bpel:copy>
<bpel:from><bpel:literal><tns:shipProducts xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId>tns:orderId</tns:orderId>
......@@ -223,15 +272,33 @@
<bpel:assign validate="no" name="AssignCost"><bpel:copy>
<bpel:from><bpel:literal><tns:ConductOrder84Response xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bpel:assign validate="no" name="AssignCost">
<bpel:copy>
<bpel:from><bpel:literal xml:space="preserve"><tns:ConductOrder84Response2 xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:result>tns:result</tns:result>
<tns:price>0.0</tns:price>
</tns:ConductOrder84Response>
<tns:state>0</tns:state>
<tns:success>
<tns:price>0.0</tns:price>
<tns:order>
<tns:orderId>tns:orderId</tns:orderId>
<tns:customerId>tns:customerId</tns:customerId>
<tns:products></tns:products>
<tns:shippingAddress>tns:shippingAddress</tns:shippingAddress>
<tns:paymentDetails>
<tns:bankName>tns:bankName</tns:bankName>
<tns:bankAddress>tns:bankAddress</tns:bankAddress>
<tns:accountNumber>tns:accountNumber</tns:accountNumber>
<tns:accountHolderName>tns:accountHolderName</tns:accountHolderName>
</tns:paymentDetails>
<tns:status>ordered</tns:status>
</tns:order>
</tns:success>
</tns:ConductOrder84Response2>
</bpel:literal></bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from>
<![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]>
......@@ -248,11 +315,28 @@
<![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]>
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:price]]></bpel:query>
</bpel:to>
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[tns:success/tns:price]]>
</bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
</bpel:assign>
</bpel:sequence>
<bpel:forEach parallel="yes" counterName="Counter" name="CheckAvaAll">
......@@ -295,20 +379,38 @@
<bpel:invoke name="checkAvailability" partnerLink="InventoryPL" operation="checkAvailability" portType="ns:InventoryPortType" inputVariable="checkAvailabilityRequest" outputVariable="checkAvailabilityReponse"></bpel:invoke>
<bpel:if name="IsNotAvailable">
<bpel:condition><![CDATA[$checkAvailabilityReponse.checkAvailabilityOutput/ns:product[round($Counter)]/ns:status/ns:currentAvailability = "not available" ]]></bpel:condition>
<bpel:sequence>
<bpel:exit name="Exit"></bpel:exit>
</bpel:sequence>
</bpel:if>
<bpel:if name="NotAvailable">
<bpel:condition><![CDATA[$checkAvailabilityReponse.checkAvailabilityOutput/ns:product[round($Counter)]/ns:status/ns:currentAvailability != "available" ]]></bpel:condition>
<bpel:throw name="ThrowProductNotAvailable" faultName="tns:NotAva"></bpel:throw>
</bpel:if>
</bpel:sequence>
</bpel:scope>
</bpel:forEach>
</bpel:forEach>
</bpel:flow>
<bpel:invoke name="conductPayment" partnerLink="PaymentPL" operation="conductPayment" portType="ns:PaymentPortType" inputVariable="conductPaymentRequest" outputVariable="conductPaymentResponse"></bpel:invoke>
<bpel:invoke name="shipProducts" partnerLink="ShipmentPL" operation="shipProducts" portType="ns:ShipmentPortType" inputVariable="shipProductsRequest" outputVariable="shipProdctsResponse"></bpel:invoke>
<bpel:assign validate="no" name="AssignOutput">
<bpel:copy>
<bpel:from part="shipProductsOutput" variable="shipProdctsResponse">
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[tns:success/tns:order]]>
</bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
</bpel:sequence>
</bpel:scope>
......@@ -333,23 +435,18 @@
<bpel:invoke name="conductPayment" partnerLink="PaymentPL" operation="conductPayment" portType="ns:PaymentPortType" inputVariable="conductPaymentRequest" outputVariable="conductPaymentResponse"></bpel:invoke>
<bpel:invoke name="shipProducts" partnerLink="ShipmentPL" operation="shipProducts" portType="ns:ShipmentPortType" inputVariable="shipProductsRequest" outputVariable="shipProdctsResponse"></bpel:invoke>
<bpel:assign validate="no" name="AssignOutput">
<bpel:copy>
<bpel:from part="shipProductsOutput" variable="shipProdctsResponse"></bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:reply name="replyOutput" partnerLink="client" portType="tns:ConductOrder84" operation="process" variable="output">
</bpel:reply>
</bpel:sequence>
</bpel:sequence>
</bpel:process>
......
......@@ -18,7 +18,7 @@
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#/"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1479051674059" processName="{group12}ConductOrder84" processVersion="1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1480456339823" processName="{group12}ConductOrder84" processVersion="6"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1"/>
......@@ -28,10 +28,6 @@
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.6"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
......@@ -76,10 +72,6 @@
<extendedObject href="ConductOrder84.bpel#//@variables/@children.9"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.10"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
......@@ -88,14 +80,6 @@
<extendedObject href="ConductOrder84.bpel#//@variables/@children.11"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.5"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.12"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
......@@ -104,152 +88,172 @@
<extendedObject href="ConductOrder84.bpel#//@variables/@children.13"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.5/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" width="663" height="477"/>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.14"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@counterName"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0/@compensationHandler/@activity/@activities.0/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.0/@copy.0"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0/@compensationHandler/@activity/@activities.0/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.0/@copy.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0/@compensationHandler/@activity/@activities.0/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.0"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0/@compensationHandler/@activity/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0/@compensationHandler/@activity/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.2/@activity/@activities.0"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0/@compensationHandler/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.2/@activity"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@variables/@children.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@variables/@children.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.4"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.5"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.6"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="221" y="-214"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.7"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.8"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.9"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="16" y="36"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.2/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="8" y="8"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="5" y="82"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.2/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="167" y="8"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="-13" y="122"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.2/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="347" y="8"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.0"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.0"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.3/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.3/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="179" y="27"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.4"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.5"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.6"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.7"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.8"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.9"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.3/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.15"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.3/@copy.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@faultHandlers/@catch.0/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@faultHandlers/@catch.0/@activity/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@faultHandlers/@catch.0/@activity/@activities.0/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.3/@copy.2"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.3/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.3/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.1/@activity/@activity/@activities.2/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
</extensionmodel:ExtensionMap>
......@@ -3,8 +3,5 @@
<globalBreakpoints>
<breakpoint name="" targetXPath="/process" targetName="ConductOrder84"/>
</globalBreakpoints>
<localBreakpoints>
<breakpoint name="" targetXPath="/process/sequence[1]/forEach[1]/scope[1]"/>
<breakpoint name="" targetXPath="/process/sequence[1]/forEach[1]/scope[1]/sequence[1]"/>
</localBreakpoints>
<localBreakpoints/>
</bpdb:Debug>
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -56,6 +56,121 @@
</complexType>
</element>
<element name="processFault">
<complexType>
<sequence>
<element name="processFault" type="string"></element>
</sequence>
</complexType>
</element>
<complexType name="productStatus">
<sequence>
<element name="currentAvailability" minOccurs="1" maxOccurs="1" default="available">
<simpleType>
<restriction base="xsd:string">
<enumeration value="available"/>
<enumeration value="not available"/>
</restriction>
</simpleType>
</element>
<element name="availableAgainInDays" type="xsd:integer" minOccurs="0" maxOccurs="1">
<annotation>
<documentation>
If product is not available, this value indicates in how many days the product is expected to be available again.
</documentation>
</annotation>
</element>
<!-- <any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace"/> -->
</sequence>
<anyAttribute/>
</complexType>
<complexType name="product">
<sequence>
<element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<element name="name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="producer" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="weight" type="xsd:decimal" minOccurs="0" maxOccurs="1"/>
<element name="price" type="xsd:decimal" minOccurs="0" maxOccurs="1"/>
<element name="status" type="tns:productStatus" minOccurs="0" maxOccurs="1"/>
<!-- <any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace"/> -->
</sequence>
<anyAttribute/>
</complexType>
<complexType name="productList">
<sequence>
<element name="product" type="tns:product" minOccurs="0" maxOccurs="unbounded"/>
<!-- <any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace"/> -->
</sequence>
<anyAttribute/>
</complexType>
<complexType name="order">
<sequence>
<element name="orderId" minOccurs="0" maxOccurs="1" type="xsd:string"/>
<element name="customerId" type="xsd:string"/>
<element name="products">
<complexType>
<sequence>
<element name="product" minOccurs="1" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="productId" type="xsd:string"/>
<element name="numberOfItems" type="xsd:integer"/>
</sequence>
<anyAttribute/>
</complexType>
</element>
</sequence>
<anyAttribute/>
</complexType>
</element>
<element name="shippingAddress" type="xsd:string"/>
<element name="paymentDetails">
<complexType>
<sequence>
<element name="bankName" type="xsd:string"/>
<element name="bankAddress" type="xsd:string"/>
<element name="accountNumber" type="xsd:string"/>
<element name="accountHolderName" type="xsd:string"/>
</sequence>
<anyAttribute/>
</complexType>
</element>
<element name="status" minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="xsd:string">
<enumeration value="ordered"/>
<enumeration value="payed"/>
<enumeration value="shipped"/>
</restriction>
</simpleType>
</element>
</sequence>
<anyAttribute/>
</complexType>
<element name="ConductOrder84Response2">
<complexType>
<sequence>
<element name="result" type="string"/>
<xsd:element name="state" type="unsignedInt"/>
<xsd:choice>
<xsd:element name="success">
<xsd:complexType>
<xsd:sequence>
<element name="price" type="decimal"/>
<element name="order" type="tns:order"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="failure" type="tns:productList"/>
</xsd:choice>
</sequence>
</complexType>
</element>
</schema>
</types>
......@@ -68,19 +183,25 @@
<part element="tns:ConductOrder84Request" name="payload" />
</message>
<message name="ConductOrder84ResponseMessage">
<part element="tns:ConductOrder84Response" name="payload"/>
<part element="tns:ConductOrder84Response2" name="payload"/>
</message>
<message name="NotAvaFaultMessage">
<part name="faultcode" type="xsd:string"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the ConductOrder84 BPEL process -->
<message name="processFault">
<part name="parameters" element="tns:processFault"></part>
</message>
<portType name="ConductOrder84">
<operation name="process">
<input message="wsdl:storeOrderDetailsInput"/>
<output message="tns:ConductOrder84ResponseMessage"/>
<fault name="NotAva" message="tns:NotAvaFaultMessage"></fault>
</operation>
</portType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment