Commit 1be3aa17 authored by Tiemo Bang's avatar Tiemo Bang

makeup and inital client

parent 1cacce52
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:storeOrderDetails xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId/>
<tns:customerId/>
<tns:products>
<tns:product>
<tns:productId>66968a93-4ec6-4fa2-bf2d-3b0f59e56738</tns:productId>
<tns:numberOfItems>2</tns:numberOfItems>
</tns:product>
<tns:product>
<tns:productId>3bae3778-8577-4b36-9572-a0b020931ba5</tns:productId>
<tns:numberOfItems>1</tns:numberOfItems>
</tns:product>
</tns:products>
<tns:shippingAddress>2nd Street 4242</tns:shippingAddress>
<tns:paymentDetails>
<tns:bankName>myBank</tns:bankName>
<tns:bankAddress>myBankAddress</tns:bankAddress>
<tns:accountNumber>myAccountNumber</tns:accountNumber>
<tns:accountHolderName>Mrs. X</tns:accountHolderName>
</tns:paymentDetails>
</tns:storeOrderDetails>
</soapenv:Body>
</soapenv:Envelope>
\ No newline at end of file
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ConductOrder84Response2 xmlns="group12">
<tns:result xmlns:tns="group12">tns:result</tns:result>
<tns:state xmlns:tns="group12">0</tns:state>
<tns:success xmlns:tns="group12">
<tns:price>0.0</tns:price>
<tns:order>
<orderId xmlns="http://iaas.uni-stuttgart.de/labs/FlowSOG">7ed883f6-5ec6-4eab-98ad-f2a83f25b234</orderId>
<customerId xmlns="http://iaas.uni-stuttgart.de/labs/FlowSOG">d3e2eed8-185e-4f82-ac77-2121d1784cc8</customerId>
<products xmlns="http://iaas.uni-stuttgart.de/labs/FlowSOG">
<product>
<productId>44162d90-9315-4acc-980e-cf975c6b9397</productId>
<numberOfItems>2</numberOfItems>
</product>
<product>
<productId>3bae3778-8577-4b36-9572-a0b020931ba5</productId>
<numberOfItems>1</numberOfItems>
</product>
</products>
<shippingAddress xmlns="http://iaas.uni-stuttgart.de/labs/FlowSOG">2nd Street 4242</shippingAddress>
<paymentDetails xmlns="http://iaas.uni-stuttgart.de/labs/FlowSOG">
<bankName>myBank</bankName>
<bankAddress>myBankAddress</bankAddress>
<accountNumber>myAccountNumber</accountNumber>
<accountHolderName>Mrs. X</accountHolderName>
</paymentDetails>
<status xmlns="http://iaas.uni-stuttgart.de/labs/FlowSOG">shipped</status>
</tns:order>
</tns:success>
</ConductOrder84Response2>
</soapenv:Body>
</soapenv:Envelope>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<!-- TODO: Auto-generated template -->
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:tns="group12"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:f="http://iaas.uni-stuttgart.de/labs/FlowSOG"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/soapenv:Envelope/soapenv:Body/tns:ConductOrder84Response2">
<html>
<body>
<h1><xsl:value-of select="tns:result"/></h1>
<xsl:if test="tns:state = 0">
<h2>Price: <xsl:value-of select="tns:success/tns:price"/> EURO</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>ProductId</th>
<th>Quantity</th>
</tr>
<xsl:for-each select="tns:success/tns:order/f:products/f:product">
<tr>
<td><xsl:value-of select="f:productId"/></td>
<td><xsl:value-of select="f:numberOfItems"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:if>
<xsl:if test="tns:state = 1">
<table border="1">
<tr bgcolor="#9acd32">
<th>ProductId</th>
<th>Quantity</th>
</tr>
<xsl:for-each select="tns:failure/tns:product/f:products/f:product">
<tr>
<td><xsl:value-of select="f:productId"/></td>
<td><xsl:value-of select="f:numberOfItems"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:if>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>ConductOrder Client</title>
</head>
<body>
<form action="action_page.php" id="myForm">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
<p id="out"></p>
<script>
var out = document.getElementById("out");
out.innerHTML = "test";
var proc = new XSLTProcessor();
var xhr = new XMLHttpRequest();
var xsltResponse = document.implementation.createDocument('http://www.w3.org/1999/XSL/Transform','xsl');
var req = document.implementation.createDocument('http://schemas.xmlsoap.org/soap/envelope/','soapenv');
var xmlTest = document.implementation.createDocument('http://schemas.xmlsoap.org/soap/envelope/','soapenv');
xsltResponse.addEventListener("load", () => {
proc.importStylesheet(xsltResponse);
req.load('EmptyReq.xml');
xmlTest.load('NewFile.xml');
}, false);
req.addEventListener("load", () =>{
xhr.send(req);
});
xmlTest.addEventListener("load", () => {
out.innerHTML = proc.transformToDocument(xmlTest).body.innerHTML;
}, false);
xsltResponse.load('ResponseToHTML.xsl');
xhr.open("POST", "http://46.101.159.46:33055/ode/processes/ConductOrder84/process", true);
xhr.onreadystatechange = (e) => {
console.log(e);
if(xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
}
</script>
</body>
</html>
\ No newline at end of file
<!-- ConductOrder84 BPEL Process [Generated by the Eclipse BPEL Designer] -->
<!-- Date: Sun Nov 06 17:39:57 CET 2016 -->
<bpel:process name="ConductOrder84"
targetNamespace="group12"
suppressJoinFailure="yes"
xmlns:tns="group12"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:ns="http://iaas.uni-stuttgart.de/labs/FlowSOG"
xmlns:xns="http://www.w3.org/2001/XMLSchema"
>
<!-- Import the client WSDL -->
<bpel:import namespace="http://iaas.uni-stuttgart.de/labs/FlowSOG"
location="46.101.159.46.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>
<bpel:import location="ConductOrder84Artifacts.wsdl" namespace="group12"
importType="http://schemas.xmlsoap.org/wsdl/" />
<!-- ================================================================= -->
<!-- PARTNERLINKS -->
<!-- List of services participating in this BPEL process -->
<!-- ================================================================= -->
<bpel:partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<bpel:partnerLink name="client"
partnerLinkType="tns:ConductOrder84"
myRole="ConductOrder84Provider"
/>
<bpel:partnerLink name="InventoryPL" partnerLinkType="tns:InventoryPLT"
partnerRole="InventoryService"></bpel:partnerLink>
<bpel:partnerLink name="OrderPL" partnerLinkType="tns:OrderPLT" partnerRole="OrderService"></bpel:partnerLink>
<bpel:partnerLink name="ShipmentPL" partnerLinkType="tns:ShipmentPLT" partnerRole="ShipmentService"></bpel:partnerLink>
<bpel:partnerLink name="PaymentPL" partnerLinkType="tns:PaymentPLT" partnerRole="PaymentService"></bpel:partnerLink>
<bpel:partnerLink name="InventroyCallBackPL" partnerLinkType="tns:InventroyCallbackPLT" myRole="InventroyCaller"></bpel:partnerLink>
</bpel:partnerLinks>
<!-- ================================================================= -->
<!-- VARIABLES -->
<!-- List of messages and XML documents used within this BPEL process -->
<!-- ================================================================= -->
<bpel:variables>
<!-- Reference to the message passed as input during initiation -->
<bpel:variable name="input"
messageType="ns:storeOrderDetailsInput">
</bpel:variable>
<!--
Reference to the message that will be returned to the requester
-->
<bpel:variable name="output"
messageType="tns:ConductOrder84ResponseMessage">
</bpel:variable>
<!-- <bpel:variable name="checkAvailabilityRequest" element="ns:checkAvailability"></bpel:variable>
<bpel:variable name="checkAvailabilityReponse" element="ns:checkAvailabilityResponse"></bpel:variable>-->
<bpel:variable name="storeOrderDetailsResponse" messageType="ns:storeOrderDetailsOutput"></bpel:variable>
<bpel:variable name="unavailableProducts" type="ns:productList"></bpel:variable>
<bpel:variable name="calcOrderResponse" messageType="ns:calcOrderCostsOutput"></bpel:variable>
<bpel:variable name="calcOrderRequest" messageType="ns:calcOrderCostsInput"></bpel:variable>
<bpel:variable name="calcShipmentCostResponse" messageType="ns:calcShipmentCostsOutput"></bpel:variable>
<bpel:variable name="calcShipmentCostRequest" messageType="ns:calcShipmentCostsInput"></bpel:variable>
<bpel:variable name="calcTransactionCostResponse" messageType="ns:calcTransactionCostsOutput"></bpel:variable>
<bpel:variable name="calcTranactionCostRequest" messageType="ns:calcTransactionCostsInput"></bpel:variable>
<bpel:variable name="conductPaymentResponse" messageType="ns:conductPaymentOutput"></bpel:variable>
<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="InventoryPLRequest" messageType="ns:checkAvailabilityAsyncInput"></bpel:variable>
<bpel:variable name="InventroyCallBackPLRequest" messageType="ns:onFinishCheckAvailabilityInput"></bpel:variable>
<bpel:variable name="cancelOrderRequest" messageType="ns:cancelOrderInput"></bpel:variable>
</bpel:variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<bpel:correlationSets>
<bpel:correlationSet name="newCorrelationSet" properties="tns:CustomerId"></bpel:correlationSet>
</bpel:correlationSets>
<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>
<!-- 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:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<!-- ConductOrder84 BPEL Process [Generated by the Eclipse BPEL Designer] -->
<!-- Date: Sun Nov 06 17:39:57 CET 2016 -->
<bpel:process name="ConductOrder84"
targetNamespace="group12"
suppressJoinFailure="yes"
xmlns:tns="group12"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:ns="http://iaas.uni-stuttgart.de/labs/FlowSOG"
xmlns:xns="http://www.w3.org/2001/XMLSchema"
>
<!-- Import the client WSDL -->
<bpel:import namespace="http://iaas.uni-stuttgart.de/labs/FlowSOG"
location="46.101.159.46.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>
<bpel:import location="ConductOrder84Artifacts.wsdl" namespace="group12"
importType="http://schemas.xmlsoap.org/wsdl/" />
<!-- ================================================================= -->
<!-- PARTNERLINKS -->
<!-- List of services participating in this BPEL process -->
<!-- ================================================================= -->
<bpel:partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<bpel:partnerLink name="client"
partnerLinkType="tns:ConductOrder84"
myRole="ConductOrder84Provider"
/>
<bpel:partnerLink name="InventoryPL" partnerLinkType="tns:InventoryPLT"
partnerRole="InventoryService"></bpel:partnerLink>
<bpel:partnerLink name="OrderPL" partnerLinkType="tns:OrderPLT" partnerRole="OrderService"></bpel:partnerLink>
<bpel:partnerLink name="ShipmentPL" partnerLinkType="tns:ShipmentPLT" partnerRole="ShipmentService"></bpel:partnerLink>
<bpel:partnerLink name="PaymentPL" partnerLinkType="tns:PaymentPLT" partnerRole="PaymentService"></bpel:partnerLink>
<bpel:partnerLink name="InventroyCallBackPL" partnerLinkType="tns:InventroyCallbackPLT" myRole="InventroyCaller"></bpel:partnerLink>
</bpel:partnerLinks>
<!-- ================================================================= -->
<!-- VARIABLES -->
<!-- List of messages and XML documents used within this BPEL process -->
<!-- ================================================================= -->
<bpel:variables>
<!-- Reference to the message passed as input during initiation -->
<bpel:variable name="input"
messageType="ns:storeOrderDetailsInput">
</bpel:variable>
<!--
Reference to the message that will be returned to the requester
-->
<bpel:variable name="output"
messageType="tns:ConductOrder84ResponseMessage">
</bpel:variable>
<!-- <bpel:variable name="checkAvailabilityRequest" element="ns:checkAvailability"></bpel:variable>
<bpel:variable name="checkAvailabilityReponse" element="ns:checkAvailabilityResponse"></bpel:variable>-->
<bpel:variable name="storeOrderDetailsResponse" messageType="ns:storeOrderDetailsOutput"></bpel:variable>
<bpel:variable name="unavailableProducts" type="ns:productList"></bpel:variable>
<bpel:variable name="calcOrderResponse" messageType="ns:calcOrderCostsOutput"></bpel:variable>
<bpel:variable name="calcOrderRequest" messageType="ns:calcOrderCostsInput"></bpel:variable>
<bpel:variable name="calcShipmentCostResponse" messageType="ns:calcShipmentCostsOutput"></bpel:variable>
<bpel:variable name="calcShipmentCostRequest" messageType="ns:calcShipmentCostsInput"></bpel:variable>
<bpel:variable name="calcTransactionCostResponse" messageType="ns:calcTransactionCostsOutput"></bpel:variable>
<bpel:variable name="calcTranactionCostRequest" messageType="ns:calcTransactionCostsInput"></bpel:variable>
<bpel:variable name="conductPaymentResponse" messageType="ns:conductPaymentOutput"></bpel:variable>
<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="InventoryPLRequest" messageType="ns:checkAvailabilityAsyncInput"></bpel:variable>
<bpel:variable name="InventroyCallBackPLRequest" messageType="ns:onFinishCheckAvailabilityInput"></bpel:variable>
<bpel:variable name="cancelOrderRequest" messageType="ns:cancelOrderInput"></bpel:variable>
</bpel:variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<bpel:correlationSets>
<bpel:correlationSet name="newCorrelationSet" properties="tns:CustomerId"></bpel:correlationSet>
</bpel:correlationSets>
<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>
<!-- 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:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy><bpel:from>
<bpel:literal xml:space="preserve"><tns:storeOrderDetails xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId></tns:orderId>
<tns:customerId></tns:customerId>
<tns:products>
<tns:product>
<tns:productId>66968a93-4ec6-4fa2-bf2d-3b0f59e56738</tns:productId>
<tns:numberOfItems>2</tns:numberOfItems>
</tns:product>
<tns:product>
<tns:productId>3bae3778-8577-4b36-9572-a0b020931ba5</tns:productId>
<tns:numberOfItems>1</tns:numberOfItems>
</tns:product>
</tns:products>
<tns:shippingAddress>2nd Street 4242</tns:shippingAddress>
<tns:paymentDetails>
<tns:bankName>myBank</tns:bankName>
<tns:bankAddress>myBankAddress</tns:bankAddress>
<tns:accountNumber>myAccountNumber</tns:accountNumber>
<tns:accountHolderName>Mrs. X</tns:accountHolderName>
</tns:paymentDetails>
</tns:storeOrderDetails>
<!-- not available --></bpel:literal>
</bpel:from>
<bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to>
<bpel:copy>
<bpel:from>
<bpel:literal xml:space="preserve"><tns:storeOrderDetails xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId></tns:orderId>
<tns:customerId></tns:customerId>
<tns:products>
<tns:product>
<tns:productId>44162d90-9315-4acc-980e-cf975c6b9397</tns:productId>
<tns:numberOfItems>2</tns:numberOfItems>
</tns:product>
<tns:product>
<tns:productId>3bae3778-8577-4b36-9572-a0b020931ba5</tns:productId>
<tns:numberOfItems>1</tns:numberOfItems>
</tns:product>
</tns:products>
<tns:shippingAddress>2nd Street 4242</tns:shippingAddress>
<tns:paymentDetails>
<tns:bankName>myBank</tns:bankName>
<tns:bankAddress>myBankAddress</tns:bankAddress>
<tns:accountNumber>myAccountNumber</tns:accountNumber>
<tns:accountHolderName>Mrs. X</tns:accountHolderName>
</tns:paymentDetails>
</tns:storeOrderDetails></bpel:literal>
</bpel:from>
<bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to>
</bpel:copy>
<bpel:copy><bpel:from>
<bpel:literal xml:space="preserve"><tns:storeOrderDetails xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId></tns:orderId>
<tns:customerId></tns:customerId>
<tns:products>
<tns:product>
<tns:productId>44162d90-9315-4acc-980e-cf975c6b9397</tns:productId>
<tns:numberOfItems>2</tns:numberOfItems>
</tns:product>
<tns:product>
<tns:productId>3bae3778-8577-4b36-9572-a0b020931ba5</tns:productId>
<tns:numberOfItems>1</tns:numberOfItems>
</tns:product>
</tns:products>
<tns:shippingAddress>2nd Street 4242</tns:shippingAddress>
<tns:paymentDetails>
<tns:bankName>myBank</tns:bankName>
<tns:bankAddress>myBankAddress</tns:bankAddress>
<tns:accountNumber>myAccountNumber</tns:accountNumber>
<tns:accountHolderName>Mrs. X</tns:accountHolderName>
</tns:paymentDetails>
</tns:storeOrderDetails></bpel:literal>
</bpel:from>
<bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to>
<bpel:copy>
<bpel:from>
<bpel:literal xml:space="preserve"><tns:storeOrderDetails xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:orderId></tns:orderId>
<tns:customerId></tns:customerId>
<tns:products>
<tns:product>
<tns:productId>66968a93-4ec6-4fa2-bf2d-3b0f59e56738</tns:productId>
<tns:numberOfItems>2</tns:numberOfItems>
</tns:product>
<tns:product>
<tns:productId>3bae3778-8577-4b36-9572-a0b020931ba5</tns:productId>
<tns:numberOfItems>1</tns:numberOfItems>
</tns:product>
</tns:products>
<tns:shippingAddress>2nd Street 4242</tns:shippingAddress>
<tns:paymentDetails>
<tns:bankName>myBank</tns:bankName>
<tns:bankAddress>myBankAddress</tns:bankAddress>
<tns:accountNumber>myAccountNumber</tns:accountNumber>
<tns:accountHolderName>Mrs. X</tns:accountHolderName>
</tns:paymentDetails>
</tns:storeOrderDetails>
<!-- not available --></bpel:literal>
</bpel:from>
<bpel:to part="storeOrderDetailsInput" variable="input"></bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:invoke name="storeOrderDetails" partnerLink="OrderPL" operation="storeOrderDetails" portType="ns:OrderPortType" outputVariable="storeOrderDetailsResponse" inputVariable="input"></bpel:invoke>
<bpel:flow name="Flow"><bpel:sequence name="Sequence">
<bpel:assign validate="no" name="assignOrderID">
<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><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:date>2001-01-01</tns:date>
</tns:shipProducts>
</bpel:literal></bpel:from>
<bpel:to variable="shipProductsRequest" part="shipProductsInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:conductPayment 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:amount>0.0</tns:amount>
</tns:conductPayment>
</bpel:literal></bpel:from>
<bpel:to variable="conductPaymentRequest" part="conductPaymentInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:calcTransactionCosts 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:calcTransactionCosts>
</bpel:literal></bpel:from>
<bpel:to variable="calcTranactionCostRequest" part="calcTransactionCostsInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:calcShipmentCosts 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:calcShipmentCosts>
</bpel:literal></bpel:from>
<bpel:to variable="calcShipmentCostRequest" part="calcShipmentCostsInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:calcOrderCosts 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:calcOrderCosts>
</bpel:literal></bpel:from>
<bpel:to variable="calcOrderRequest" part="calcOrderCostsInput"></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="calcOrderCostsInput" variable="calcOrderRequest">
<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 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="calcShipmentCostsInput" variable="calcShipmentCostRequest">
<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 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="calcTransactionCostsInput" variable="calcTranactionCostRequest">
<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 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="conductPaymentInput" variable="conductPaymentRequest">
<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 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="shipProductsInput" variable="shipProductsRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns:orderId]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:invoke name="storeOrderDetails" partnerLink="OrderPL" operation="storeOrderDetails" portType="ns:OrderPortType" outputVariable="storeOrderDetailsResponse" inputVariable="input"></bpel:invoke>
<bpel:flow name="Flow"><bpel:sequence name="Sequence">
<bpel:assign validate="no" name="assignOrderID">
<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><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:date>2001-01-01</tns:date>
</tns:shipProducts>
</bpel:literal></bpel:from>
<bpel:to variable="shipProductsRequest" part="shipProductsInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:conductPayment 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:amount>0.0</tns:amount>
</tns:conductPayment>
</bpel:literal></bpel:from>
<bpel:to variable="conductPaymentRequest" part="conductPaymentInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:calcTransactionCosts 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:calcTransactionCosts>
</bpel:literal></bpel:from>
<bpel:to variable="calcTranactionCostRequest" part="calcTransactionCostsInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:calcShipmentCosts 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:calcShipmentCosts>
</bpel:literal></bpel:from>
<bpel:to variable="calcShipmentCostRequest" part="calcShipmentCostsInput"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from><bpel:literal><tns:calcOrderCosts 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:calcOrderCosts>
</bpel:literal></bpel:from>
<bpel:to variable="calcOrderRequest" part="calcOrderCostsInput"></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="calcOrderCostsInput" variable="calcOrderRequest">
<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 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="calcShipmentCostsInput" variable="calcShipmentCostRequest">
<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 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="calcTransactionCostsInput" variable="calcTranactionCostRequest">
<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 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="conductPaymentInput" variable="conductPaymentRequest">
<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 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="shipProductsInput" variable="shipProductsRequest">
<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 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:assign>
<bpel:flow name="calcFlow"><bpel:invoke name="calcOrderCost" partnerLink="OrderPL" operation="calcOrderCosts" inputVariable="calcOrderRequest" outputVariable="calcOrderResponse"></bpel:invoke><bpel:invoke name="calcShipmentCost" partnerLink="ShipmentPL" operation="calcShipmentCosts" portType="ns:ShipmentPortType" inputVariable="calcShipmentCostRequest" outputVariable="calcShipmentCostResponse"></bpel:invoke><bpel:invoke name="calcTransactionCost" partnerLink="PaymentPL" operation="calcTransactionCosts" portType="ns:PaymentPortType" inputVariable="calcTranactionCostRequest" outputVariable="calcTransactionCostResponse"></bpel:invoke></bpel:flow>
</bpel:sequence>
<bpel:sequence name="checkAvaAsyn">
<bpel:assign validate="no" name="assignProductIds">
<bpel:copy>
<bpel:from><bpel:literal xml:space="preserve"><tns:checkAvailabilityAsync xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:callbackUrl></tns:callbackUrl>
<tns:customerId></tns:customerId>
<tns:productId></tns:productId>
</tns:checkAvailabilityAsync></bpel:literal></bpel:from>
<bpel:to variable="InventoryPLRequest" part="checkAvailabilityAsyncInput"></bpel:to>
</bpel:copy>
<!--
<bpel:copy>
<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
<![CDATA[ode:insert-as-last-into($InventoryPLRequest.checkAvailabilityAsyncInput/ns:productId,$input.storeOrderDetailsInput/ns:products/ns:product[1]/ns:productId)]]>
</bpel:from>
<bpel:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest">
</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>
<![CDATA[bpel:doXslTransform("ProductId.xsl", $input.storeOrderDetailsInput)]]>
</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:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest"></bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:flow name="calcFlow"><bpel:invoke name="calcOrderCost" partnerLink="OrderPL" operation="calcOrderCosts" inputVariable="calcOrderRequest" outputVariable="calcOrderResponse"></bpel:invoke><bpel:invoke name="calcShipmentCost" partnerLink="ShipmentPL" operation="calcShipmentCosts" portType="ns:ShipmentPortType" inputVariable="calcShipmentCostRequest" outputVariable="calcShipmentCostResponse"></bpel:invoke><bpel:invoke name="calcTransactionCost" partnerLink="PaymentPL" operation="calcTransactionCosts" portType="ns:PaymentPortType" inputVariable="calcTranactionCostRequest" outputVariable="calcTransactionCostResponse"></bpel:invoke></bpel:flow>
<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">
<tns:result>tns:result</tns:result>
<tns:price>0.0</tns:price>
</tns:ConductOrder84Response>
</bpel:literal></bpel:from>
<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]]>
</bpel:from>
<bpel:to part="conductPaymentInput" variable="conductPaymentRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:amount]]>
</bpel:query>
</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from>
<![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:copy>
</bpel:assign>
</bpel:sequence>
<bpel:sequence name="checkAvaAsyn">
<bpel:assign validate="no" name="assignProductIds">
<bpel:copy>
<bpel:from><bpel:literal xml:space="preserve"><tns:checkAvailabilityAsync xmlns:tns="http://iaas.uni-stuttgart.de/labs/FlowSOG" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:callbackUrl></tns:callbackUrl>
<tns:customerId>tns:customerId</tns:customerId>
<tns:productId>tns:productId</tns:productId>
</tns:checkAvailabilityAsync></bpel:literal></bpel:from>
<bpel:to variable="InventoryPLRequest" part="checkAvailabilityAsyncInput"></bpel:to>
<bpel:from part="storeOrderDetailsInput" variable="input"><bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:orderId]]>
</bpel:query>
</bpel:from><bpel:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:customerId]]>
</bpel:query>
</bpel:to>
</bpel:copy>
<!--
<bpel:copy>
<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
<![CDATA[ode:insert-as-last-into($InventoryPLRequest.checkAvailabilityAsyncInput/ns:productId,$input.storeOrderDetailsInput/ns:products/ns:product[1]/ns:productId)]]>
<bpel:copy><bpel:from>
<![CDATA["http://46.101.159.46:33055/ode/processes/IntentoryCallbackService"]]>
</bpel:from>
<bpel:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns:callbackUrl]]></bpel:query>
</bpel:to>
</bpel:copy>
-->
</bpel:copy>
</bpel:assign>
<!--
<bpel:invoke name="checkAvaAsyn" partnerLink="InventoryPL" operation="checkAvailabilityAsync" portType="ns:InventoryPortType" inputVariable="InventoryPLRequest"></bpel:invoke>
<bpel:receive name="onFinishCheckAvailabilty" partnerLink="InventroyCallBackPL" operation="onFinishCheckAvailability" variable="InventroyCallBackPLRequest"></bpel:receive>
-->
<bpel:invoke name="checkAvaAsyn" partnerLink="InventoryPL" operation="checkAvailabilityAsync" portType="ns:InventoryPortType" inputVariable="InventoryPLRequest">
<bpel:correlations>
<bpel:correlation set="newCorrelationSet" initiate="yes" ></bpel:correlation>
</bpel:correlations>
</bpel:invoke>
<bpel:receive name="onFinish" partnerLink="InventroyCallBackPL" operation="onFinishCheckAvailability" variable="InventroyCallBackPLRequest">
<bpel:correlations>
<bpel:correlation set="newCorrelationSet" initiate="no"></bpel:correlation>
</bpel:correlations>
</bpel:receive>
</bpel:sequence>
</bpel:flow>
<bpel:if name="Available"><bpel:condition><![CDATA[count($InventroyCallBackPLRequest.onFinishCheckAvailabilityInput/ns:productList/ns:product[ns:status/ns:currentAvailability != "available"]) = 0 ]]></bpel:condition>
<bpel:sequence>
<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>Order successfull</tns:result>
<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:product>
<tns:productId>tns:productId</tns:productId>
<tns:numberOfItems>0</tns:numberOfItems>
</tns:product>
</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:from>
<![CDATA[$calcOrderResponse.calcOrderCostsOutput/ns:orderCosts + $calcShipmentCostResponse.calcShipmentCostsOutput/ns:shipmentCosts + $calcTransactionCostResponse.calcTransactionCostsOutput/ns:transactionCosts]]>
</bpel:from>
<bpel:to part="conductPaymentInput" variable="conductPaymentRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:amount]]>
</bpel:query>
</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from>
<![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:success/tns:price]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<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">
......@@ -364,129 +483,58 @@
<bpel:copy><bpel:from><![CDATA[bpel:doXslTransform("ProductId.xsl", $input.storeOrderDetailsInput)]]>
</bpel:from><bpel:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest"></bpel:to>
</bpel:copy>
<bpel:copy><bpel:from part="storeOrderDetailsInput" variable="input">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:orderId]]>
</bpel:query>
<bpel:copy>
<bpel:from part="shipProductsOutput" variable="shipProdctsResponse">
</bpel:from>
<bpel:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest">
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:customerId]]>
<![CDATA[tns:success/tns:order]]>
</bpel:query>
</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from>
<![CDATA["http://46.101.159.46:32805/ode/processes/IntentoryCallbackService"]]>
</bpel:from>
<bpel:to part="checkAvailabilityAsyncInput" variable="InventoryPLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns:callbackUrl]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<!--
<bpel:invoke name="checkAvaAsyn" partnerLink="InventoryPL" operation="checkAvailabilityAsync" portType="ns:InventoryPortType" inputVariable="InventoryPLRequest"></bpel:invoke>
<bpel:receive name="onFinishCheckAvailabilty" partnerLink="InventroyCallBackPL" operation="onFinishCheckAvailability" variable="InventroyCallBackPLRequest"></bpel:receive>
-->
<bpel:invoke name="checkAvaAsyn" partnerLink="InventoryPL" operation="checkAvailabilityAsync" portType="ns:InventoryPortType" inputVariable="InventoryPLRequest">
<bpel:correlations>
<bpel:correlation set="newCorrelationSet" initiate="yes" ></bpel:correlation>
</bpel:correlations>
</bpel:invoke>
<bpel:receive name="onFinish" partnerLink="InventroyCallBackPL" operation="onFinishCheckAvailability" variable="InventroyCallBackPLRequest">
<bpel:correlations>
<bpel:correlation set="newCorrelationSet" initiate="no"></bpel:correlation>
</bpel:correlations>
</bpel:receive>
</bpel:sequence>
</bpel:flow>
<bpel:if name="Available"><bpel:condition><![CDATA[count($InventroyCallBackPLRequest.onFinishCheckAvailabilityInput/ns:productList/ns:product[ns:status/ns:currentAvailability = "not available"]) = 0 ]]></bpel:condition>
<bpel:sequence>
<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><bpel:literal><tns:ConductOrder84Response 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>
</bpel:literal></bpel:from>
<bpel:to part="payload" variable="output"></bpel:to>
</bpel:copy><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:copy>
<bpel:from part="onFinishCheckAvailabilityInput" variable="InventroyCallBackPLRequest"></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:sequence>
<bpel:else>
<bpel:sequence>
<bpel:invoke name="cancelOrder" partnerLink="OrderPL" operation="cancelOrder" portType="ns:OrderPortType" inputVariable="cancelOrderRequest"></bpel:invoke>
<bpel:assign validate="no" name="AssignCancelNotification">
</bpel:assign>
</bpel:sequence>
<bpel:else>
<bpel:sequence>
<bpel:invoke name="cancelOrder" partnerLink="OrderPL" operation="cancelOrder" portType="ns:OrderPortType" inputVariable="cancelOrderRequest"></bpel:invoke>
<bpel:assign validate="no" name="AssignCancelNotification">
<bpel:copy>
<bpel:from><bpel:literal><tns:ConductOrder84Response 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>
</bpel:literal></bpel:from>
<bpel:from><bpel:literal xml:space="preserve"><tns:ConductOrder84Response2 xmlns:tns="group12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:result>Order failed!</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:copy>
<bpel:from part="onFinishCheckAvailabilityInput" variable="InventroyCallBackPLRequest">
<bpel:copy>
<bpel:from part="onFinishCheckAvailabilityInput" variable="InventroyCallBackPLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:productList/ns:product[ns:status/ns:currentAvailability != "available"]]]>
</bpel:query>
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns:productList/ns:product[ns:status/ns:currentAvailability != "available"]]]>
<![CDATA[tns:failure]]>
</bpel:query>
</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:sequence>
</bpel:else>
</bpel:if>
<bpel:reply name="replyOutput" partnerLink="client" portType="tns:ConductOrder84" operation="process" variable="output">
</bpel:reply>
</bpel:sequence>
</bpel:process>
</bpel:to>
</bpel:copy>
</bpel:assign>
</bpel:sequence>
</bpel:else>
</bpel:if>
<bpel:reply name="replyOutput" partnerLink="client" portType="tns:ConductOrder84" operation="process" variable="output">
</bpel:reply>
</bpel:sequence>
</bpel:process>
......
......@@ -18,7 +18,7 @@
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#/"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1479668429984" processName="{group12}ConductOrder84" processVersion="3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1479934543919" processName="{group12}ConductOrder84" processVersion="20"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1"/>
......@@ -89,7 +89,7 @@
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
......@@ -161,19 +161,15 @@
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.0/@activities.2/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.0/@activities.2/@copy.1"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.0/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.0/@activities.2/@copy.2"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.0/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.0/@activities.2"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
......@@ -204,14 +200,6 @@
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.1/@activities.0/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.2/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
......@@ -221,8 +209,8 @@
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.2/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.5"/>
......@@ -236,10 +224,6 @@
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.1/@activities.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.2/@copy.2"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.1/@activities.0/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
......@@ -273,11 +257,7 @@
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@else/@activity/@activities.1/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.2"/>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.1/@copy.1"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
......@@ -292,4 +272,16 @@
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.3/@activities.1/@activities.0/@copy.3"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@else/@activity/@activities.1/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.0/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
<extendedObject href="ConductOrder84.bpel#//@activity/@activities.4/@activity/@activities.3/@copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
</extensionmodel:ExtensionMap>
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -73,6 +73,114 @@
</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>
......@@ -85,7 +193,7 @@
<part element="tns:ConductOrder84Request" name="payload"/>
</message>
<message name="ConductOrder84ResponseMessage">
<part element="tns:ConductOrder84Response" name="payload"/>
<part element="tns:ConductOrder84Response2" name="payload"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
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