Schema Central > WS-CDL > ws-cdl.xsd > cdl:package
Advanced search
Need SOA Help?

Recommended Reading:

Web Service Contract Design and Versioning for SOA

 

Definitive XML Schema

 

cdl:package

Element information

Namespace: http://www.w3.org/2005/10/cdl

Schema document: ws-cdl.xsd

Type: cdl:tPackage

Properties: Global, Qualified

Content

Attributes

NameOccTypeDescriptionNotes
Any attribute[0..*]Namespace: ##other, Process Contents: laxfrom type cdl:tExtensibleElements
name [1..1]xsd:NCName
author [0..1]xsd:string
version [0..1]xsd:string
targetNamespace [1..1]xsd:anyURI

Sample instance

<package         targetNamespace="http://www.example.com/ConsumerRetailerChoreographysample"
         name="ConsumerRetailerChoreography"
         version="1.0">
   <informationType name="purchaseOrderType" type="tns:PurchaseOrderMsg"/>
   <informationType name="purchaseOrderAckType" type="tns:PurchaseOrderAckMsg"/>
   <informationType name="badPOAckType" type="xsd:QName"/>
   <informationType name="uriType" type="xsd:string"/>
   <informationType name="intType" type="xsd:integer"/>
   <token name="purchaseOrderID" informationType="tns:intType"/>
   <token name="retailerRef" informationType="tns:uriType"/>
   <token name="consumerRef" informationType="tns:uriType"/>
   <tokenLocator tokenName="tns:purchaseOrderID" informationType="tns:purchaseOrderType"
                 query="/PO/orderId"/>
   <tokenLocator tokenName="tns:purchaseOrderID" informationType="tns:purchaseOrderAckType"
                 query="/PO/orderId"/>
   <roleType name="Consumer">
      <behavior name="consumerForRetailer" interface="rns:ConsumerRetailerPT"/>
      <behavior name="consumerForWarehouse" interface="rns:ConsumerWarehousePT"/>
   </roleType>
   <roleType name="Retailer">
      <behavior name="retailerForConsumer" interface="rns:RetailerConsumerPT"/>
   </roleType>
   <relationshipType name="ConsumerRetailerRelationship">
      <roleType typeRef="tns:Consumer" behavior="consumerForRetailer"/>
      <roleType typeRef="tns:Retailer" behavior="retailerForConsumer"/>
   </relationshipType>
   <channelType name="ConsumerChannel">
      <roleType typeRef="tns:Consumer"/>
      <reference>
         <token name="tns:consumerRef"/>
      </reference>
      <identity>
         <token name="tns:purchaseOrderID"/>
      </identity>
   </channelType>
   <channelType name="RetailerChannel">
      <passing channel="ConsumerChannel" action="request"/>
      <roleType typeRef="tns:Retailer" behavior="retailerForConsumer"/>
      <reference>
         <token name="tns:retailerRef"/>
      </reference>
      <identity>
         <token name="tns:purchaseOrderID"/>
      </identity>
   </channelType>
   <choreography name="ConsumerRetailerChoreography">
      <relationship type="tns:ConsumerRetailerRelationship"/>
      <variableDefinitions>
         <variable name="purchaseOrder" informationType="tns:purchaseOrderType" silent="false"/>
         <variable name="purchaseOrderAck" informationType="tns:purchaseOrderAckType"/>
         <variable name="retailer-channel" channelType="tns:RetailerChannel"/>
         <variable name="consumer-channel" channelType="tns:ConsumerChannel"/>
         <variable name="badPurchaseOrderAck" informationType="tns:badPOAckType"/>
      </variableDefinitions>
      <interaction name="createPO" channelVariable="tns:retailer-channel"
                   operation="handlePurchaseOrder">
         <participate relationshipType="tns:ConsumerRetailerRelationship"
                      fromRoleTypeRef="tns:Consumer"
                      toRoleTypeRef="tns:Retailer"/>
         <exchange name="request" informationType="tns:purchaseOrderType" action="request">
            <send variable="cdl:getVariable('tns:purchaseOrder','','')"/>
            <receive variable="cdl:getVariable('tns:purchaseOrder','','')"
                     recordReference="record-the-channel-info"/>
         </exchange>
         <exchange name="response" informationType="purchaseOrderAckType" action="respond">
            <send variable="cdl:getVariable('tns:purchaseOrderAck','','')"/>
            <receive variable="cdl:getVariable('tns:purchaseOrderAck','','')"/>
         </exchange>
         <exchange name="badPurchaseOrderAckException" faultName="badPurchaseOrderAckException"
                   informationType="badPOAckType"
                   action="respond">
            <send variable="cdl:getVariable('tns:badPurchaseOrderAck','','')"
                  causeException="tns:badPOAck"/>
            <receive variable="cdl:getVariable('tns:badPurchaseOrderAck','','')"
                     causeException="tns:badPOAck"/>
         </exchange>
         <record name="record-the-channel-info" when="after">
            <source variable="cdl:getVariable('tns:purchaseOrder','',                          '/PO/CustomerRef')"/>
            <target variable="cdl:getVariable('tns:consumer-channel','','')"/>
         </record>
      </interaction>
   </choreography>
</package>

Site developed and hosted by Datypic, Inc.

Please report errors or comments about this site to pwalmsley@datypic.com