| <?xml version="1.0"?> |
| <definitions name="${processName}" |
| targetNamespace="${namespace}" |
| xmlns:tns="${namespace}" |
| xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" |
| xmlns="http://schemas.xmlsoap.org/wsdl/" |
| xmlns:${protocol}="${protocolNamespace}" |
| > |
| |
| <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| TYPE DEFINITION - List of services participating in this BPEL process |
| The default output of the BPEL designer uses strings as input and |
| output to the BPEL Process. But you can define or import any XML |
| Schema type and us them as part of the message types. |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| <types> |
| <schema attributeFormDefault="unqualified" |
| elementFormDefault="qualified" |
| targetNamespace="${namespace}" |
| xmlns="http://www.w3.org/2001/XMLSchema" |
| > |
| |
| <element name="${processName}Request"> |
| <complexType> |
| <sequence> |
| <element name="input" type="string" /> |
| </sequence> |
| </complexType> |
| </element> |
| |
| <element name="${processName}Response"> |
| <complexType> |
| <sequence> |
| <element name="result" type="string"/> |
| </sequence> |
| </complexType> |
| </element> |
| |
| </schema> |
| </types> |
| |
| <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| MESSAGE TYPE DEFINITION - Definition of the message types used as |
| part of the port type defintions |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| <message name="${processName}RequestMessage"> |
| <part name="payload" element="tns:${processName}Request"/> |
| </message> |
| |
| <message name="${processName}ResponseMessage"> |
| <part name="payload" element="tns:${processName}Response"/> |
| </message> |
| |
| |
| <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| PORT TYPE DEFINITION - A port type groups a set of operations into |
| a logical service unit. |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| <!-- portType implemented by the ${processName} BPEL process --> |
| <portType name="${processName}"> |
| <operation name="initiate"> |
| <input message="tns:${processName}RequestMessage"/> |
| </operation> |
| </portType> |
| |
| <!-- portType implemented by the requester of ${processName} BPEL process |
| for asynchronous callback purposes |
| --> |
| <portType name="${processName}Callback"> |
| <operation name="onResult"> |
| <input message="tns:${processName}ResponseMessage"/> |
| </operation> |
| </portType> |
| |
| |
| <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| PARTNER LINK TYPE DEFINITION |
| the ${processName} partnerLinkType binds the provider and |
| requester portType into an asynchronous conversation. |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| <plnk:partnerLinkType name="${processName}"> |
| <plnk:role name="${processName}Provider" portType="tns:${processName}"/> |
| <plnk:role name="${processName}Requester" portType="tns:${processName}Callback"/> |
| </plnk:partnerLinkType> |
| </definitions> |