[jboss-user] [JBoss jBPM] - Re: Correlation problem

Turanyi do-not-reply at jboss.com
Tue Oct 14 07:57:48 EDT 2008


Now it works. 

  | <?xml version="1.0"?>
  | <definitions name="correlwait"
  |         targetNamespace="http://eclipse.org/bpel/correlwait"
  |         xmlns:tns="http://eclipse.org/bpel/correlwait"
  |         xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
  | 	xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
  |         xmlns="http://schemas.xmlsoap.org/wsdl/"
  |         xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
  |         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  |         >
  | 
  | <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  |      TYPE DEFINITION - List of types participating in this BPEL process 
  |      The BPEL Designer will generate default request and response types
  |      but you can define or import any XML Schema type and use them as part 
  |      of the message types.
  |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
  |     <types>
  |         <schema attributeFormDefault="unqualified" elementFormDefault="qualified" 
  |                 targetNamespace="http://eclipse.org/bpel/correlwait" 
  |                 xmlns="http://www.w3.org/2001/XMLSchema">
  | 
  |             <element name="correlwaitRequest">
  |                 <complexType>
  |                     <sequence>
  |                         <element name="ID" type="int"/>
  |                         <element name="input" type="string"/>
  |                     </sequence>
  |                 </complexType>
  |             </element>
  | 
  |             <element name="correlwaitResponse">
  |                 <complexType>
  |                     <sequence>
  |                         <element name="result" type="string"/>
  |                     </sequence>
  |                 </complexType>
  |             </element>
  | 
  |             <element name="pushwaitRequest">
  |                 <complexType>
  |                     <sequence>
  |                         <element name="ID" type="int"/>
  |                         <element name="name" type="string"/>
  |                     </sequence>
  |                 </complexType>
  |             </element>
  | 
  |             <element name="pushwaitResponse">
  |                 <complexType>
  |                     <sequence>
  |                         <element name="status" 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="correlwaitRequestMessage">
  |         <part name="payload" element="tns:correlwaitRequest"/>
  |     </message>
  |     <message name="correlwaitResponseMessage">
  |         <part name="payload" element="tns:correlwaitResponse"/>
  |     </message>
  |     <message name="pushwaitRequestMessage">
  |         <part name="payload" element="tns:pushwaitRequest"/>
  |     </message>
  |     <message name="pushwaitResponseMessage">
  |         <part name="payload" element="tns:pushwaitResponse"/>
  |     </message>
  | 
  | <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  |      PORT TYPE DEFINITION - A port type groups a set of operations into
  |      a logical service unit.
  |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
  | 
  |     <!-- portType implemented by the correlwait BPEL process -->
  |     <portType name="correlwait">
  |         <operation name="process">
  |             <input  message="tns:correlwaitRequestMessage" />
  |             <output message="tns:correlwaitResponseMessage"/>
  |         </operation>
  |         <operation name="push">
  |             <input  message="tns:pushwaitRequestMessage" />
  |             <output message="tns:pushwaitResponseMessage"/>
  |         </operation>
  |     </portType>
  |   
  | 
  | <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  |      PARTNER LINK TYPE DEFINITION
  |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
  |     <plnk:partnerLinkType name="correlwait">
  |         <plnk:role name="correlwaitProvider" portType="tns:correlwait"/>
  |     </plnk:partnerLinkType>
  |     
  | 
  | <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  |      PROPERTY DEFINITION
  |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
  | <vprop:property name="IDproperty" type="xsd:int"/>
  | <vprop:propertyAlias propertyName="tns:IDproperty" messageType="tns:correlwaitRequestMessage" part="payload">
  | <vprop:query>tns:ID</vprop:query>
  | </vprop:propertyAlias>
  | <vprop:propertyAlias propertyName="tns:IDproperty" messageType="tns:pushwaitRequestMessage" part="payload">
  | <vprop:query>tns:ID</vprop:query>
  | </vprop:propertyAlias>
  | </definitions>
  | 


  | <?xml version="1.0" encoding="UTF-8"?>
  | <bpws:process exitOnStandardFault="yes" name="correlwait"
  |     suppressJoinFailure="yes"
  |     targetNamespace="http://eclipse.org/bpel/correlwait"
  |     xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
  |     xmlns:ns="http://eclipse.org/bpel/correlwaitArtifacts" xmlns:tns="http://eclipse.org/bpel/correlwait">
  |     <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
  |         location="correlwait.wsdl" namespace="http://eclipse.org/bpel/correlwait"/>
  |     <bpws:partnerLinks>
  |         <bpws:partnerLink myRole="correlwaitProvider" name="client" partnerLinkType="tns:correlwait"/>
  |     </bpws:partnerLinks>
  |     <bpws:variables>
  |         <bpws:variable messageType="tns:correlwaitRequestMessage" name="input"/>
  |         <bpws:variable messageType="tns:correlwaitResponseMessage" name="output"/>
  |         <bpws:variable messageType="tns:pushwaitRequestMessage" name="pushRequest"/>
  |         <bpws:variable messageType="tns:pushwaitResponseMessage" name="pushResponse"/>
  |     </bpws:variables>
  |     <bpws:correlationSets>
  |         <bpws:correlationSet name="IDCorrelationSet" properties="tns:IDproperty"/>
  |     </bpws:correlationSets>
  |     <bpws:sequence name="main">
  |         <bpws:receive createInstance="yes" name="receiveInput"
  |             operation="process" partnerLink="client"
  |             portType="tns:correlwait" variable="input">
  |             <bpws:correlations>
  |                 <bpws:correlation initiate="yes" set="IDCorrelationSet"/>
  |             </bpws:correlations>
  |         </bpws:receive>
  |         <bpws:assign name="outputAssign" validate="no">
  |             <bpws:copy>
  |                 <bpws:from><bpws:expression>concat($input.payload/tns:input, ' started.')</bpws:expression></bpws:from>
  |                 <bpws:to>$output.payload/tns:result</bpws:to>
  |             </bpws:copy>
  |         </bpws:assign>
  |         <bpws:reply name="replyOutput" operation="process"
  |             partnerLink="client" portType="tns:correlwait" variable="output"/>
  |         <bpws:receive name="pushReceive" operation="push"
  |             partnerLink="client" portType="tns:correlwait" variable="pushRequest">
  |             <bpws:correlations>
  |                 <bpws:correlation initiate="no" set="IDCorrelationSet"/>
  |             </bpws:correlations>
  |         </bpws:receive>
  |         <bpws:assign name="pushAssign" validate="no">
  |             <bpws:copy>
  |                 <bpws:from><bpws:expression>concat($input.payload/tns:input, ', ', $pushRequest.payload/tns:name, ' pushed (', $input.payload/tns:ID, '=', $pushRequest.payload/tns:ID, ').')</bpws:expression></bpws:from>
  |                 <bpws:to>$pushResponse.payload/tns:status</bpws:to>
  |             </bpws:copy>
  |         </bpws:assign>
  |         <bpws:reply name="pushReply" operation="push"
  |             partnerLink="client" portType="tns:correlwait" variable="pushResponse"/>
  |     </bpws:sequence>
  | </bpws:process>
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4182085#4182085

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4182085



More information about the jboss-user mailing list