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

Compensation and combined output

parent a4bbb7af
This diff is collapsed.
This diff is collapsed.
...@@ -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 diff is collapsed.
...@@ -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