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

Compensation and combined output

parent a4bbb7af
...@@ -72,38 +72,26 @@ ...@@ -72,38 +72,26 @@
<bpel:variable name="conductPaymentRequest" messageType="ns:conductPaymentInput"></bpel:variable> <bpel:variable name="conductPaymentRequest" messageType="ns:conductPaymentInput"></bpel:variable>
<bpel:variable name="shipProdctsResponse" messageType="ns:shipProductsOutput"></bpel:variable> <bpel:variable name="shipProdctsResponse" messageType="ns:shipProductsOutput"></bpel:variable>
<bpel:variable name="shipProductsRequest" messageType="ns:shipProductsInput"></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> </bpel:variables>
<!-- ================================================================= --> <!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC --> <!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the --> <!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process --> <!-- services integrated within this business process -->
<!-- ================================================================= --> <!-- ================================================================= -->
<bpel:sequence name="main"> <bpel:sequence name="main"><!-- Receive input from requester.
<!-- Receive input from requester.
Note: This maps to operation defined in ConductOrder84.wsdl 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 --> <!-- Generate reply to synchronous request -->
<bpel:assign validate="no" name="InitStuff"> <bpel:assign validate="no" name="InitStuff">
<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"> <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:result></tns:result>
</tns:ConductOrder84Response> </tns:ConductOrder84Response></bpel:literal></bpel:from>
</bpel:literal></bpel:from>
<bpel:to variable="output" part="payload"></bpel:to> <bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy> </bpel:copy>
...@@ -135,11 +123,72 @@ ...@@ -135,11 +123,72 @@
<bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to> <bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to>
</bpel:copy> </bpel:copy>
</bpel:assign> </bpel:assign>
<bpel:scope>
<bpel:flow name="Flow"> <bpel:faultHandlers>
<bpel:sequence name="Sequence"><bpel:invoke name="storeOrderDetails" partnerLink="OrderPL" operation="storeOrderDetails" portType="ns:OrderPortType" outputVariable="storeOrderDetailsResponse" inputVariable="input"></bpel:invoke> <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: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"> <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> <tns:orderId>tns:orderId</tns:orderId>
...@@ -223,15 +272,33 @@ ...@@ -223,15 +272,33 @@
<bpel:assign validate="no" name="AssignCost"><bpel:copy> <bpel:assign validate="no" name="AssignCost">
<bpel:from><bpel:literal><tns:ConductOrder84Response xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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:result>tns:result</tns:result>
<tns:price>0.0</tns:price> <tns:state>0</tns:state>
</tns:ConductOrder84Response> <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:literal></bpel:from>
<bpel:to variable="output" part="payload"></bpel:to> <bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy> </bpel:copy>
<bpel:copy> <bpel:copy>
<bpel:from> <bpel:from>
<![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]> <![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]>
...@@ -248,11 +315,28 @@ ...@@ -248,11 +315,28 @@
<![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]> <![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]>
</bpel:from> </bpel:from>
<bpel:to part="payload" variable="output"> <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:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
</bpel:to> <![CDATA[tns:success/tns:price]]>
</bpel:query>
</bpel:to>
</bpel:copy> </bpel:copy>
</bpel:assign>
</bpel:assign>
</bpel:sequence> </bpel:sequence>
<bpel:forEach parallel="yes" counterName="Counter" name="CheckAvaAll"> <bpel:forEach parallel="yes" counterName="Counter" name="CheckAvaAll">
...@@ -295,20 +379,38 @@ ...@@ -295,20 +379,38 @@
<bpel:invoke name="checkAvailability" partnerLink="InventoryPL" operation="checkAvailability" portType="ns:InventoryPortType" inputVariable="checkAvailabilityRequest" outputVariable="checkAvailabilityReponse"></bpel:invoke> <bpel:invoke name="checkAvailability" partnerLink="InventoryPL" operation="checkAvailability" portType="ns:InventoryPortType" inputVariable="checkAvailabilityRequest" outputVariable="checkAvailabilityReponse"></bpel:invoke>
<bpel:if name="IsNotAvailable"> <bpel:if name="NotAvailable">
<bpel:condition><![CDATA[$checkAvailabilityReponse.checkAvailabilityOutput/ns:product[round($Counter)]/ns:status/ns:currentAvailability = "not available" ]]></bpel:condition> <bpel:condition><![CDATA[$checkAvailabilityReponse.checkAvailabilityOutput/ns:product[round($Counter)]/ns:status/ns:currentAvailability != "available" ]]></bpel:condition>
<bpel:sequence> <bpel:throw name="ThrowProductNotAvailable" faultName="tns:NotAva"></bpel:throw>
</bpel:if>
<bpel:exit name="Exit"></bpel:exit>
</bpel:sequence>
</bpel:if>
</bpel:sequence> </bpel:sequence>
</bpel:scope> </bpel:scope>
</bpel:forEach> </bpel:forEach>
</bpel:flow> </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 @@ ...@@ -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 name="replyOutput" partnerLink="client" portType="tns:ConductOrder84" operation="process" variable="output">
</bpel:reply> </bpel:reply>
</bpel:sequence>
</bpel:sequence>
</bpel:process> </bpel:process>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#/"/> <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>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.1"/>
...@@ -28,10 +28,6 @@ ...@@ -28,10 +28,6 @@
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.0"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.6"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.2"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
...@@ -76,10 +72,6 @@ ...@@ -76,10 +72,6 @@
<extendedObject href="ConductOrder84.bpel#//@variables/@children.9"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.9"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions> </extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.10"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.10"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
...@@ -88,14 +80,6 @@ ...@@ -88,14 +80,6 @@
<extendedObject href="ConductOrder84.bpel#//@variables/@children.11"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.11"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions> </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> <extensions>
<extendedObject href="ConductOrder84.bpel#//@variables/@children.12"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.12"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
...@@ -104,152 +88,172 @@ ...@@ -104,152 +88,172 @@
<extendedObject href="ConductOrder84.bpel#//@variables/@children.13"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.13"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions> </extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.5/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.1"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.14"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" width="663" height="477"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@counterName"/> <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:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity/@activities.2"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@activity"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@variables/@children.0"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity/@variables/@children.1"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1/@activity"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.4"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/> <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>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.1"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.1/@copy.7"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="221" y="-214"/> <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>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2/@activities.0"/> <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="16" y="36"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="8" y="8"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2/@activities.1"/> <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="5" y="82"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="167" y="8"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.2/@activities.2"/> <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="-13" y="122"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="347" y="8"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.2"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.3"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension" x="179" y="27"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.4"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.5"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.6"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.7"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.8"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.1/@copy.9"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.3/@copy.0"/> <extendedObject href="ConductOrder84.bpel#//@variables/@children.15"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<extensions> <extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activities.0/@activities.3"/> <extendedObject href="ConductOrder84.bpel#//@activity/@activities.2/@activity/@activities.0/@activities.0/@activities.3/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions> </extensions>
<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"/> <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions> </extensions>
</extensionmodel:ExtensionMap> </extensionmodel:ExtensionMap>
...@@ -3,8 +3,5 @@ ...@@ -3,8 +3,5 @@
<globalBreakpoints> <globalBreakpoints>
<breakpoint name="" targetXPath="/process" targetName="ConductOrder84"/> <breakpoint name="" targetXPath="/process" targetName="ConductOrder84"/>
</globalBreakpoints> </globalBreakpoints>
<localBreakpoints> <localBreakpoints/>
<breakpoint name="" targetXPath="/process/sequence[1]/forEach[1]/scope[1]"/>
<breakpoint name="" targetXPath="/process/sequence[1]/forEach[1]/scope[1]/sequence[1]"/>
</localBreakpoints>
</bpdb:Debug> </bpdb:Debug>
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -56,6 +56,121 @@ ...@@ -56,6 +56,121 @@
</complexType> </complexType>
</element> </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> </schema>
</types> </types>
...@@ -68,19 +183,25 @@ ...@@ -68,19 +183,25 @@
<part element="tns:ConductOrder84Request" name="payload" /> <part element="tns:ConductOrder84Request" name="payload" />
</message> </message>
<message name="ConductOrder84ResponseMessage"> <message name="ConductOrder84ResponseMessage">
<part element="tns:ConductOrder84Response" name="payload"/> <part element="tns:ConductOrder84Response2" name="payload"/>
</message> </message>
<message name="NotAvaFaultMessage">
<part name="faultcode" type="xsd:string"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit. a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the ConductOrder84 BPEL process --> <!-- portType implemented by the ConductOrder84 BPEL process -->
<message name="processFault">
<part name="parameters" element="tns:processFault"></part>
</message>
<portType name="ConductOrder84"> <portType name="ConductOrder84">
<operation name="process"> <operation name="process">
<input message="wsdl:storeOrderDetailsInput"/> <input message="wsdl:storeOrderDetailsInput"/>
<output message="tns:ConductOrder84ResponseMessage"/> <output message="tns:ConductOrder84ResponseMessage"/>
<fault name="NotAva" message="tns:NotAvaFaultMessage"></fault>
</operation> </operation>
</portType> </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