Your logs says that there is no instance correlated on the incoming correlation value.
Did you compare the outgoing and incoming correlation values? On Thu, Nov 26, 2015 at 3:04 PM, Vinay Vijay <[email protected]> wrote: > Hi Sathwik, > > I have checked the logs. The following debug messages are > present for both the partner links. The correlation sets seem fine. > > > > 679125 [ODEServer-2] DEBUG org.apache.ode.bpel.engine.BpelProcess - > INPUTMSG: secondAsyncPartner.callback: MSG RCVD keys=[{CorrelationKey > setId=inCorrelation1, values=[called back: 2015-11-24T13:25:39.515+05:30]}] > mySessionId=null partnerSessionId=null > > 679125 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > findRoute(keySet=[{CorrelationKey setId=inCorrelation1, values=[called > back: 2015-11-24T13:25:39.515+05:30]}]): > > 679135 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > findRoute(keySet=[{CorrelationKey setId=inCorrelation1, values=[called > back: 2015-11-24T13:25:39.515+05:30]}]): found [] > > 679135 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > Obtain record lock on {HCorrelator process={ > http://www.example.org/FlowParallelInvoke/}FlowParallelInvoke-2, > cid=secondAsyncPartner.callback} > > 679145 [ODEServer-2] DEBUG org.apache.ode.bpel.engine.BpelProcess - > INPUTMSG: secondAsyncPartner.callback: SAVING to DB (no match) > > 679145 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > enqueueMessage(mex=2302 keySet=@2[inCorrelation1~called back: > 2015-11-24T13:25:39.515+05:30]): > > 679145 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > enqueueMessage(mex=2302 keySet=@2[inCorrelation1~called back: > 2015-11-24T13:25:39.515+05:30]): saved {HCorrelatorMessage > correlator={HCorrelator process={ > http://www.example.org/FlowParallelInvoke/}FlowParallelInvoke-2, > cid=secondAsyncPartner.callback}, ckey=@2[inCorrelation1~called back: > 2015-11-24T13:25:39.515+05:30], mex=2302} > > > > 684801 [ODEServer-2] DEBUG org.apache.ode.bpel.engine.BpelProcess - > INPUTMSG: firstAsyncPartner.callback: MSG RCVD keys=[{CorrelationKey > setId=inCorrelation, values=[called back: 2015-11-24T13:25:38.177+05:30]}] > mySessionId=null partnerSessionId=null > > 684801 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > findRoute(keySet=[{CorrelationKey setId=inCorrelation, values=[called back: > 2015-11-24T13:25:38.177+05:30]}]): > > 684811 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > findRoute(keySet=[{CorrelationKey setId=inCorrelation, values=[called back: > 2015-11-24T13:25:38.177+05:30]}]): found [] > > 684811 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > Obtain record lock on {HCorrelator process={ > http://www.example.org/FlowParallelInvoke/}FlowParallelInvoke-2, > cid=firstAsyncPartner.callback} > > 684811 [ODEServer-2] DEBUG org.apache.ode.bpel.engine.BpelProcess - > INPUTMSG: firstAsyncPartner.callback: SAVING to DB (no match) > > 684811 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > enqueueMessage(mex=2304 keySet=@2[inCorrelation~called back: > 2015-11-24T13:25:38.177+05:30]): > > 684811 [ODEServer-2] DEBUG org.apache.ode.daohib.bpel.CorrelatorDaoImpl - > enqueueMessage(mex=2304 keySet=@2[inCorrelation~called back: > 2015-11-24T13:25:38.177+05:30]): saved {HCorrelatorMessage > correlator={HCorrelator process={ > http://www.example.org/FlowParallelInvoke/}FlowParallelInvoke-2, > cid=firstAsyncPartner.callback}, ckey=@2[inCorrelation~called back: > 2015-11-24T13:25:38.177+05:30], mex=2304} > > > > Regards, > > Vinay > > > > -----Original Message----- > From: Sathwik B P [mailto:[email protected]] > Sent: Wednesday, November 25, 2015 12:51 AM > To: [email protected] > Subject: Re: Receive activities inside a Flow activity > > > > Check your outgoing and incoming soap messages. Verify that the incoming > > correlated field has the same value which was sent out. > > > > Enabling DEBUG logs can help you get more information about the xml content > > being exchanged. > > > > > > > > On Tue, Nov 24, 2015 at 4:40 PM, Vinay Vijay <[email protected] > <mailto:[email protected]>> wrote: > > > > > Hi Sathwik, > > > > > > I am now getting the receive 1 and receive 2 activity > > > start events for the bpel having the parallel flow activity. But the > > > callbacks to complete the receive activities (receive activity end > events) > > > are not happening and process is not completing and hence the process is > in > > > active state. > > > > > > > > > > > > Could you please see what might be missing? Find the bpel > > > and web service implementation code (FirstAsync partner link) for your > > > reference. > > > > > > > > > > > > BPEL > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > > > <process exitOnStandardFault="yes" name="FlowParallelInvoke" > > > > > > targetNamespace=" > > > http://www.example.org/FlowParallelInvoke/" > > > > > > xmlns=" > > > http://docs.oasis-open.org/wsbpel/2.0/process/executable" > > > > > > xmlns:tns="http://www.example.org/FlowParallelInvoke/" > > > > > > xmlns:ns0=" > http://www.example.org/wsdl/FlowParallelInvoke/ > > > " > > > > > > xmlns:ns1="http://www.example.org/FirstAsync/" > > > > > > xmlns:ns2="http://www.example.org/SecondAsync/" > > > > > > xmlns:ns3="http://www.example.org/xsd/FirstAsync/" > > > > > > xmlns:ns4="http://www.example.org/xsd/SecondAsync/" > > > > > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > > > > xmlns:ode="http://www.apache.org/ode/type/extension" > > > > > > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" > > > > > > expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"> > > > > > > > > > > > > <import namespace="http://www.example.org/SecondAsync/" > > > location="SecondAsync.wsdl" importType="http://schemas.xmlsoap.org/wsdl/ > > > "></import> > > > > > > <import namespace="http://www.example.org/FirstAsync/" > > > location="FirstAsync.wsdl" importType="http://schemas.xmlsoap.org/wsdl/ > > > "></import> > > > > > > <import importType="http://schemas.xmlsoap.org/wsdl/" > > > location="FlowParallelInvoke.wsdl" namespace=" > > > http://www.example.org/wsdl/FlowParallelInvoke/" /> > > > > > > > > > > > > <partnerLinks> > > > > > > <partnerLink name="bpelProcessPartner" > > > partnerLinkType="ns0:FlowParallelInvoke" > > > > > > myRole="FlowParallelInvokeProvider"></partnerLink> > > > > > > <partnerLink name="firstAsyncPartner" > > > partnerLinkType="ns1:FirstAsyncLinkType" myRole="FirstCallbackRole" > > > > > > > > > partnerRole="FirstAsyncRole" initializePartnerRole="yes"></partnerLink> > > > > > > <partnerLink name="secondAsyncPartner" > > > partnerLinkType="ns2:SecondAsyncLinkType" > myRole="SecondCallbackRole" > > > > > > > > > partnerRole="SecondAsyncRole" initializePartnerRole="yes"></partnerLink> > > > > > > </partnerLinks> > > > > > > <variables> > > > > > > <variable name="initiateProcessRequest" > > > > > > > > > messageType="ns0:initiateProcessRequest" /> > > > > > > <variable name="firstAsyncInvoke" > > > messageType="ns1:initiateRequest"> > > > > > > </variable> > > > > > > <variable name="firstAsyncCallback" > > > messageType="ns1:callbackRequest"></variable> > > > > > > <variable name="secondAsyncInvoke" > > > messageType="ns2:initiateRequest"></variable> > > > > > > <variable name="secondAsyncCallback" > > > messageType="ns2:callbackRequest"></variable> > > > > > > <variable name="correlationVar" type="xs:integer"></variable> > > > > > > <variable name="executionFlowVarSeq1" > type="xs:string"></variable> > > > > > > <variable name="executionFlowVarSeq2" > type="xs:string"></variable> > > > > > > > > > > > > </variables> > > > > > > <correlationSets> > > > > > > <correlationSet name="inCorrelation" > > > properties="ns1:firstin"></correlationSet> > > > > > > <correlationSet name="inCorrelation1" > > > properties="ns2:secondin"></correlationSet> > > > > > > <correlationSet name="CorSetForPrcStart" > > > properties="ns0:CorInstanceId"/> > > > > > > </correlationSets> > > > > > > <sequence name="MainSequence"> > > > > > > > > > > > > > > > > > > <receive name="Receive" > > > partnerLink="bpelProcessPartner" > > > > > > > > > operation="initiateProcess" portType="ns0:FlowParallelInvoke" > > > > > > > > > variable="initiateProcessRequest" createInstance="yes"> > > > > > > <correlations> > > > > > > > > > <correlation set="CorSetForPrcStart" initiate="yes"/> > > > > > > </correlations> > > > > > > </receive> > > > > > > <assign name="Assign"> > > > > > > <!--copy> > > > > > > <from>$ode:pid</from> > > > > > > <to>$correlationVar</to> > > > > > > </copy--> > > > > > > <copy> > > > > > > <from> > > > > > > > > > <literal xml:space="preserve"> > > > > > > <ns3:initiate> > > > > > > <ns3:in></ns3:in> > > > > > > </ns3:initiate> > > > > > > </literal> > > > > > > </from> > > > > > > <to> > > > > > > $firstAsyncInvoke.parameters > > > > > > </to> > > > > > > </copy> > > > > > > <copy> > > > > > > <from> > > > > > > > > > <literal xml:space="preserve"> > > > > > > <ns4:initiate> > > > > > > <ns4:in></ns4:in> > > > > > > </ns4:initiate> > > > > > > </literal> > > > > > > </from> > > > > > > <to> > > > > > > $secondAsyncInvoke.parameters > > > > > > </to> > > > > > > </copy> > > > > > > <copy> > > > > > > <!--from variable="correlationVar"/--> > > > > > > <from>current-dateTime()</from> > > > > > > > > > <to>$firstAsyncInvoke.parameters/ns3:in</to> > > > > > > </copy> > > > > > > </assign> > > > > > > <wait name="Wait0"> > > > > > > <for>'PT1S'</for> > > > > > > </wait> > > > > > > <assign name="assigncorforbranch2"> > > > > > > <copy> > > > > > > <!--from variable="correlationVar"/--> > > > > > > <from>current-dateTime()</from> > > > > > > > > > <to>$secondAsyncInvoke.parameters/ns4:in</to> > > > > > > </copy> > > > > > > </assign> > > > > > > <flow name="FlowParallelInvokeReceive"> > > > > > > <sequence > name="Sequence1"> > > > > > > > > > > > > <invoke > > > name="Invoke1" partnerLink="firstAsyncPartner" operation="initiate" > > > portType="ns1:FirstAsync" inputVariable="firstAsyncInvoke"> > > > > > > > > > <correlations> > > > > > > > > > <correlation set="inCorrelation" > > > initiate="yes"></correlation> > > > > > > > > > </correlations> > > > > > > </invoke> > > > > > > > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq1-to1"> > > > > > > <copy> > > > > > > <from>"1"</from> > > > > > > <to>$executionFlowVarSeq1</to> > > > > > > </copy> > > > > > > </assign> > > > > > > > > > > > > <wait name="Wait1"> > > > > > > <for>'PT1S'</for> > > > > > > </wait> > > > > > > > > > > > > <receive > > > name="Receive1" partnerLink="firstAsyncPartner" operation="callback" > > > portType="ns1:FirstCallbackSOAP" variable="firstAsyncCallback"> > > > > > > > > > <correlations> > > > > > > > > > <correlation set="inCorrelation" > > > initiate="no"></correlation> > > > > > > > > > </correlations> > > > > > > > </receive> > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq1-to2"> > > > > > > <copy> > > > > > > <from>"2"</from> > > > > > > <to>$executionFlowVarSeq1</to> > > > > > > </copy> > > > > > > </assign> > > > > > > > > > > > > </sequence> > > > > > > <sequence > name="Sequence2"> > > > > > > <invoke > > > name="Invoke2" partnerLink="secondAsyncPartner" operation="initiate" > > > portType="ns2:SecondAsync" inputVariable="secondAsyncInvoke"> > > > > > > > > > <correlations> > > > > > > > > > <correlation set="inCorrelation1" > > > initiate="yes"></correlation> > > > > > > > > > </correlations> > > > > > > </invoke> > > > > > > > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq2-to1"> > > > > > > <copy> > > > > > > <from>"1"</from> > > > > > > <to>$executionFlowVarSeq2</to> > > > > > > </copy> > > > > > > </assign> > > > > > > > > > > > > <wait name="Wait2"> > > > > > > <for>'PT1S'</for> > > > > > > </wait> > > > > > > > > > > > > <receive > > > name="Receive2" partnerLink="secondAsyncPartner" operation="callback" > > > portType="ns2:SecondCallbackSOAP" variable="secondAsyncCallback"> > > > > > > > > > <correlations> > > > > > > > > > <correlation set="inCorrelation1" > > > initiate="no"></correlation> > > > > > > > > > </correlations> > > > > > > > </receive> > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq2-to2"> > > > > > > <copy> > > > > > > <from>"2"</from> > > > > > > <to>$executionFlowVarSeq2</to> > > > > > > </copy> > > > > > > </assign> > > > > > > > > > > > > </sequence> > > > > > > </flow> > > > > > > </sequence> > > > > > > </process> > > > > > > > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------ > > > > > > > > > > > > FirstAsync.wsdl > > > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > > > <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > > xmlns:tns="http://www.example.org/FirstAsync/" > > > xmlns:xs="http://www.example.org/xsd/FirstAsync/" > > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="FirstAsync" > > > targetNamespace="http://www.example.org/FirstAsync/" > > > xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" > > > xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"> > > > > > > <wsdl:types> > > > <xsd:schema targetNamespace=" > > > http://www.example.org/FirstAsync/" elementFormDefault="qualified"> > > > <xsd:import namespace=" > http://www.example.org/xsd/FirstAsync/" > > > schemaLocation="FirstAsync.xsd" /> > > > </xsd:schema> > > > </wsdl:types> > > > > > > <wsdl:message name="initiateRequest"> > > > <wsdl:part element="xs:initiate" name="parameters" /> > > > </wsdl:message> > > > <wsdl:message name="callbackRequest"> > > > <wsdl:part name="parameters" > element="xs:callback"></wsdl:part> > > > </wsdl:message> > > > <wsdl:portType name="FirstAsync"> > > > <wsdl:operation name="initiate"> > > > <wsdl:input message="tns:initiateRequest" /> > > > </wsdl:operation> > > > </wsdl:portType> > > > <wsdl:portType name="FirstCallbackSOAP"> > > > <wsdl:operation name="callback"> > > > <wsdl:input message="tns:callbackRequest"></wsdl:input> > > > </wsdl:operation> > > > </wsdl:portType> > > > <wsdl:binding name="FirstAsyncSOAP" type="tns:FirstAsync"> > > > <soap:binding style="document" transport=" > > > http://schemas.xmlsoap.org/soap/http" /> > > > <wsdl:operation name="initiate"> > > > <soap:operation soapAction=" > > > http://www.example.org/FirstAsync/initiate" /> > > > <wsdl:input> > > > <soap:body use="literal" /> > > > </wsdl:input> > > > </wsdl:operation> > > > </wsdl:binding> > > > <wsdl:binding name="FirstCallbackSOAP" > type="tns:FirstCallbackSOAP"> > > > <soap:binding style="document" transport=" > > > http://schemas.xmlsoap.org/soap/http" /> > > > <wsdl:operation name="callback"> > > > <soap:operation soapAction=" > > > http://www.example.org/FirstAsync/callback" /> > > > <wsdl:input> > > > <soap:body use="literal" /> > > > </wsdl:input> > > > </wsdl:operation> > > > </wsdl:binding> > > > <wsdl:service name="FirstAsync"> > > > <wsdl:port binding="tns:FirstAsyncSOAP" > name="FirstAsyncSOAP"> > > > <soap:address location=" > > > http://localhost:8086/FirstWS/services/FirstAsyncSOAP" /> > > > </wsdl:port> > > > </wsdl:service> > > > <wsdl:service name="FirstCallback"> > > > <wsdl:port name="FirstCallbackSOAP" > > > binding="tns:FirstCallbackSOAP"> > > > <soap:address location=" > > > http://localhost:8086/ode/processes/FirstCallbackSOAP" /> > > > </wsdl:port> > > > </wsdl:service> > > > > > > <vprop:property name="firstin" type="xsd:string"/> > > > > > > <vprop:propertyAlias messageType="tns:callbackRequest" > > > part="parameters" propertyName="tns:firstin"> > > > <vprop:query > > > > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">xs:in</vprop:query> > > > </vprop:propertyAlias> > > > <vprop:propertyAlias messageType="tns:initiateRequest" > > > part="parameters" propertyName="tns:firstin"> > > > <vprop:query > > > > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">xs:in</vprop:query> > > > </vprop:propertyAlias> > > > > > > <plnk:partnerLinkType name="FirstAsyncLinkType"> > > > <plnk:role name="FirstAsyncRole" portType="tns:FirstAsync" /> > > > <plnk:role name="FirstCallbackRole" > > > portType="tns:FirstCallbackSOAP" /> > > > </plnk:partnerLinkType> > > > </wsdl:definitions> > > > > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------ > > > > > > > > > > > > FirstCallbackSOAPImpl.java > > > package org.example.www.FirstAsync; > > > > > > > > > public class FirstCallbackSOAPImpl implements > > > org.example.www.FirstAsync.FirstCallbackSOAP{ > > > > > > public void callback(java.lang.String in) throws > > > java.rmi.RemoteException { > > > try { > > > //call the operation on that port > > > FirstCallbackLocator locator = new FirstCallbackLocator(); > > > locator.getFirstCallbackSOAP().callback("called back: "+in); > > > } catch (Throwable e) { > > > // TODO Auto-generated catch block > > > e.printStackTrace(); > > > } > > > } > > > > > > } > > > > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------ > > > > > > > > > > > > FirstCallbackLocator.java > > > package org.example.www.FirstAsync; > > > > > > public class FirstCallbackLocator extends org.apache.axis.client.Service > > > implements org.example.www.FirstAsync.FirstCallback { > > > > > > public FirstCallbackLocator() { > > > } > > > > > > > > > public FirstCallbackLocator(org.apache.axis.EngineConfiguration > > > config) { > > > super(config); > > > } > > > > > > public FirstCallbackLocator(java.lang.String wsdlLoc, > > > javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException { > > > super(wsdlLoc, sName); > > > } > > > > > > // Use to get a proxy class for FirstCallbackSOAP > > > private java.lang.String FirstCallbackSOAP_address = " > > > http://localhost:8086/ode/processes/FirstCallbackSOAP?wsdl"; > > > > > > public java.lang.String getFirstCallbackSOAPAddress() { > > > return FirstCallbackSOAP_address; > > > } > > > > > > // The WSDD service name defaults to the port name. > > > private java.lang.String FirstCallbackSOAPWSDDServiceName = > > > "FirstCallbackSOAP"; > > > > > > public java.lang.String getFirstCallbackSOAPWSDDServiceName() { > > > return FirstCallbackSOAPWSDDServiceName; > > > } > > > > > > public void setFirstCallbackSOAPWSDDServiceName(java.lang.String > name) > > > { > > > FirstCallbackSOAPWSDDServiceName = name; > > > } > > > > > > public org.example.www.FirstAsync.FirstCallbackSOAP > > > getFirstCallbackSOAP() throws javax.xml.rpc.ServiceException { > > > java.net.URL endpoint; > > > try { > > > endpoint = new java.net.URL(FirstCallbackSOAP_address); > > > } > > > catch (java.net.MalformedURLException e) { > > > throw new javax.xml.rpc.ServiceException(e); > > > } > > > return getFirstCallbackSOAP(endpoint); > > > } > > > > > > public org.example.www.FirstAsync.FirstCallbackSOAP > > > getFirstCallbackSOAP(java.net.URL portAddress) throws > > > javax.xml.rpc.ServiceException { > > > try { > > > org.example.www.FirstAsync.FirstCallbackSOAPStub _stub = new > > > org.example.www.FirstAsync.FirstCallbackSOAPStub(portAddress, this); > > > _stub.setPortName(getFirstCallbackSOAPWSDDServiceName()); > > > return _stub; > > > } > > > catch (org.apache.axis.AxisFault e) { > > > return null; > > > } > > > } > > > > > > public void setFirstCallbackSOAPEndpointAddress(java.lang.String > > > address) { > > > FirstCallbackSOAP_address = address; > > > } > > > > > > /** > > > * For the given interface, get the stub implementation. > > > * If this service has no port for the given interface, > > > * then ServiceException is thrown. > > > */ > > > public java.rmi.Remote getPort(Class serviceEndpointInterface) throws > > > javax.xml.rpc.ServiceException { > > > try { > > > if > > > > (org.example.www.FirstAsync.FirstCallbackSOAP.class.isAssignableFrom(serviceEndpointInterface)) > > > { > > > org.example.www.FirstAsync.FirstCallbackSOAPStub _stub = > > > new org.example.www.FirstAsync.FirstCallbackSOAPStub(new > > > java.net.URL(FirstCallbackSOAP_address), this); > > > _stub.setPortName(getFirstCallbackSOAPWSDDServiceName()); > > > return _stub; > > > } > > > } > > > catch (java.lang.Throwable t) { > > > throw new javax.xml.rpc.ServiceException(t); > > > } > > > throw new javax.xml.rpc.ServiceException("There is no stub > > > implementation for the interface: " + (serviceEndpointInterface == null > ? > > > "null" : serviceEndpointInterface.getName())); > > > } > > > > > > /** > > > * For the given interface, get the stub implementation. > > > * If this service has no port for the given interface, > > > * then ServiceException is thrown. > > > */ > > > public java.rmi.Remote getPort(javax.xml.namespace.QName portName, > > > Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { > > > if (portName == null) { > > > return getPort(serviceEndpointInterface); > > > } > > > java.lang.String inputPortName = portName.getLocalPart(); > > > if ("FirstCallbackSOAP".equals(inputPortName)) { > > > return getFirstCallbackSOAP(); > > > } > > > else { > > > java.rmi.Remote _stub = getPort(serviceEndpointInterface); > > > ((org.apache.axis.client.Stub) _stub).setPortName(portName); > > > return _stub; > > > } > > > } > > > > > > public javax.xml.namespace.QName getServiceName() { > > > return new javax.xml.namespace.QName(" > > > http://www.example.org/FirstAsync/", "FirstCallback"); > > > } > > > > > > private java.util.HashSet ports = null; > > > > > > public java.util.Iterator getPorts() { > > > if (ports == null) { > > > ports = new java.util.HashSet(); > > > ports.add(new javax.xml.namespace.QName(" > > > http://www.example.org/FirstAsync/", "FirstCallbackSOAP")); > > > } > > > return ports.iterator(); > > > } > > > > > > /** > > > * Set the endpoint address for the specified port name. > > > */ > > > public void setEndpointAddress(java.lang.String portName, > > > java.lang.String address) throws javax.xml.rpc.ServiceException { > > > > > > if ("FirstCallbackSOAP".equals(portName)) { > > > setFirstCallbackSOAPEndpointAddress(address); > > > } > > > else > > > { // Unknown Port Name > > > throw new javax.xml.rpc.ServiceException(" Cannot set > Endpoint > > > Address for Unknown Port" + portName); > > > } > > > } > > > > > > /** > > > * Set the endpoint address for the specified port name. > > > */ > > > public void setEndpointAddress(javax.xml.namespace.QName portName, > > > java.lang.String address) throws javax.xml.rpc.ServiceException { > > > setEndpointAddress(portName.getLocalPart(), address); > > > } > > > > > > } > > > > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------ > > > > > > > > > > > > FirstCallbackSOAPStub.java > > > package org.example.www.FirstAsync; > > > > > > public class FirstCallbackSOAPStub extends org.apache.axis.client.Stub > > > implements org.example.www.FirstAsync.FirstCallbackSOAP { > > > private java.util.Vector cachedSerClasses = new java.util.Vector(); > > > private java.util.Vector cachedSerQNames = new java.util.Vector(); > > > private java.util.Vector cachedSerFactories = new java.util.Vector(); > > > private java.util.Vector cachedDeserFactories = new > java.util.Vector(); > > > > > > static org.apache.axis.description.OperationDesc [] _operations; > > > > > > static { > > > _operations = new org.apache.axis.description.OperationDesc[1]; > > > _initOperationDesc1(); > > > } > > > > > > private static void _initOperationDesc1(){ > > > org.apache.axis.description.OperationDesc oper; > > > org.apache.axis.description.ParameterDesc param; > > > oper = new org.apache.axis.description.OperationDesc(); > > > oper.setName("callback"); > > > param = new org.apache.axis.description.ParameterDesc(new > > > javax.xml.namespace.QName("http://www.example.org/xsd/FirstAsync/", > > > "in"), org.apache.axis.description.ParameterDesc.IN, new > > > javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), > > > java.lang.String.class, false, false); > > > oper.addParameter(param); > > > oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); > > > oper.setStyle(org.apache.axis.constants.Style.WRAPPED); > > > oper.setUse(org.apache.axis.constants.Use.LITERAL); > > > _operations[0] = oper; > > > > > > } > > > > > > public FirstCallbackSOAPStub() throws org.apache.axis.AxisFault { > > > this(null); > > > } > > > > > > public FirstCallbackSOAPStub(java.net.URL endpointURL, > > > javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { > > > this(service); > > > super.cachedEndpoint = endpointURL; > > > } > > > > > > public FirstCallbackSOAPStub(javax.xml.rpc.Service service) throws > > > org.apache.axis.AxisFault { > > > if (service == null) { > > > super.service = new org.apache.axis.client.Service(); > > > } else { > > > super.service = service; > > > } > > > > > > > ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2"); > > > } > > > > > > protected org.apache.axis.client.Call createCall() throws > > > java.rmi.RemoteException { > > > try { > > > org.apache.axis.client.Call _call = super._createCall(); > > > if (super.maintainSessionSet) { > > > _call.setMaintainSession(super.maintainSession); > > > } > > > if (super.cachedUsername != null) { > > > _call.setUsername(super.cachedUsername); > > > } > > > if (super.cachedPassword != null) { > > > _call.setPassword(super.cachedPassword); > > > } > > > if (super.cachedEndpoint != null) { > > > _call.setTargetEndpointAddress(super.cachedEndpoint); > > > } > > > if (super.cachedTimeout != null) { > > > _call.setTimeout(super.cachedTimeout); > > > } > > > if (super.cachedPortName != null) { > > > _call.setPortName(super.cachedPortName); > > > } > > > java.util.Enumeration keys = super.cachedProperties.keys(); > > > while (keys.hasMoreElements()) { > > > java.lang.String key = (java.lang.String) > > > keys.nextElement(); > > > _call.setProperty(key, super.cachedProperties.get(key)); > > > } > > > return _call; > > > } > > > catch (java.lang.Throwable _t) { > > > throw new org.apache.axis.AxisFault("Failure trying to get > the > > > Call object", _t); > > > } > > > } > > > > > > public void callback(java.lang.String in) throws > > > java.rmi.RemoteException { > > > if (super.cachedEndpoint == null) { > > > throw new org.apache.axis.NoEndPointException(); > > > } > > > org.apache.axis.client.Call _call = createCall(); > > > _call.setOperation(_operations[0]); > > > _call.setUseSOAPAction(true); > > > _call.setSOAPActionURI(" > http://www.example.org/FirstAsync/callback > > > "); > > > _call.setEncodingStyle(null); > > > _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, > > > Boolean.FALSE); > > > _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, > > > Boolean.FALSE); > > > > > > > _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); > > > _call.setOperationName(new javax.xml.namespace.QName(" > > > http://www.example.org/xsd/FirstAsync/", "callback")); > > > > > > setRequestHeaders(_call); > > > setAttachments(_call); > > > _call.invokeOneWay(new java.lang.Object[] {in}); > > > > > > } > > > > > > } > > > > > > > > > > > > > > > > > > Regards, > > > > > > Vinay > > > > > > > > > > > > -----Original Message----- > > > > > > From: Vinay Vijay [mailto:[email protected]] > > > > > > Sent: Thursday, November 05, 2015 2:02 PM > > > > > > To: [email protected]<mailto:[email protected]> > > > > > > Subject: RE: Receive activities inside a Flow activity > > > > > > > > > > > > Hi Sathwik, > > > > > > In the process you sent the propertyAlias had just 'in' > as > > > query. Now I have appended it with namespace prefix and it is going > through. > > > > > > > > > > > > Now the start receive activity events for both branches > > > have been logged in the events table. I will now create a concrete > > > implementation for web services so that the callback happens, completing > > > the receive activities and hence completing the process. > > > > > > > > > > > > Thanks for the help and I will keep you posted. > > > > > > > > > > > > Regards, > > > > > > Vinay > > > > > > > > > > > > -----Original Message----- > > > > > > From: Sathwik B P [mailto:[email protected]] > > > > > > Sent: Thursday, November 05, 2015 1:33 PM > > > > > > To: [email protected]<mailto:[email protected]> > > > > > > Subject: Re: Receive activities inside a Flow activity > > > > > > > > > > > > Correlation is initialized within Invoke activity as per the process. > > > Check your PropertyAlias query. > > > > > > > > > > > > On Thu, Nov 5, 2015 at 12:55 PM, Vinay Vijay <[email protected] > <mailto:[email protected]>> > > > wrote: > > > > > > > > > > > > > Hi Sathwik, > > > > > > > > > > > > > > Find below the assign snippet from the bpel. I am > > > > > > > addressing it with namespace 'ns3' which is defined at the beginning > > > > > > > of the bpel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from> > > > > > > > > > > > > > > <literal xml:space="preserve"> > > > > > > > > > > > > > > <ns3:initiate> > > > > > > > > > > > > > > <ns3:in></ns3:in> > > > > > > > > > > > > > > </ns3:initiate> > > > > > > > > > > > > > > </literal> > > > > > > > > > > > > > > </from> > > > > > > > > > > > > > > <to> > > > > > > > > > > > > > > $firstAsyncInvoke.parameters > > > > > > > > > > > > > > </to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from variable="correlationVar"/> > > > > > > > > > > > > > > <to>$firstAsyncInvoke.parameters/ns3:in</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > > > > > ------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am pasting the entire bpel below for quick reference > > > > > > > > > > > > > > > > > > > > > > > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > > > > > > > > > > > <process exitOnStandardFault="yes" name="FlowParallelInvoke" > > > > > > > > > > > > > > targetNamespace="http://www.example.org/FlowParallelInvoke/" > > > > > > > > > > > > > > xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable > " > > > > > > > > > > > > > > xmlns:tns="http://www.example.org/FlowParallelInvoke/" > > > > > > > > > > > > > > xmlns:ns0="http://www.example.org/wsdl/FlowParallelInvoke/" > > > > > > > > > > > > > > xmlns:ns1="http://www.example.org/FirstAsync/" > > > > > > > > > > > > > > xmlns:ns2="http://www.example.org/SecondAsync/" > > > > > > > > > > > > > > xmlns:ns3="http://www.example.org/xsd/FirstAsync/" > > > > > > > > > > > > > > xmlns:ns4="http://www.example.org/xsd/SecondAsync/" > > > > > > > > > > > > > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > > > > > > > > > > > > xmlns:ode="http://www.apache.org/ode/type/extension" > > > > > > > > > > > > > > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" > > > > > > > > > > > > > > > > > > > > > expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <import namespace="http://www.example.org/SecondAsync/" > > > > > > > location="SecondAsync.wsdl" > > > > > > > importType="http://schemas.xmlsoap.org/wsdl/ > > > > > > > "></import> > > > > > > > > > > > > > > <import namespace="http://www.example.org/FirstAsync/" > > > > > > > location="FirstAsync.wsdl" > > > > > > > importType="http://schemas.xmlsoap.org/wsdl/ > > > > > > > "></import> > > > > > > > > > > > > > > <import importType="http://schemas.xmlsoap.org/wsdl/" > > > > > > > location="FlowParallelInvoke.wsdl" namespace=" > > > > > > > http://www.example.org/wsdl/FlowParallelInvoke/" /> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <partnerLinks> > > > > > > > > > > > > > > <partnerLink name="bpelProcessPartner" > > > > > > > partnerLinkType="ns0:FlowParallelInvoke" > > > > > > > > > > > > > > myRole="FlowParallelInvokeProvider"></partnerLink> > > > > > > > > > > > > > > <partnerLink name="firstAsyncPartner" > > > > > > > partnerLinkType="ns1:FirstAsyncLinkType" myRole="FirstCallbackRole" > > > > > > > > > > > > > > partnerRole="FirstAsyncRole" > > > > > > > initializePartnerRole="yes"></partnerLink> > > > > > > > > > > > > > > <partnerLink name="secondAsyncPartner" > > > > > > > partnerLinkType="ns2:SecondAsyncLinkType" myRole="SecondCallbackRole" > > > > > > > > > > > > > > partnerRole="SecondAsyncRole" > > > > > > > initializePartnerRole="yes"></partnerLink> > > > > > > > > > > > > > > </partnerLinks> > > > > > > > > > > > > > > <variables> > > > > > > > > > > > > > > <variable name="initiateProcessRequest" > > > > > > > > > > > > > > messageType="ns0:initiateProcessRequest" /> > > > > > > > > > > > > > > <variable name="firstAsyncInvoke" > > > > > > > messageType="ns1:initiateRequest"> > > > > > > > > > > > > > > </variable> > > > > > > > > > > > > > > <variable name="firstAsyncCallback" > > > > > > > messageType="ns1:callbackRequest"></variable> > > > > > > > > > > > > > > <variable name="secondAsyncInvoke" > > > > > > > messageType="ns2:initiateRequest"></variable> > > > > > > > > > > > > > > <variable name="secondAsyncCallback" > > > > > > > messageType="ns2:callbackRequest"></variable> > > > > > > > > > > > > > > <variable name="correlationVar" type="xs:integer"></variable> > > > > > > > > > > > > > > <variable name="executionFlowVarSeq1" > > > > > > > type="xs:string"></variable> > > > > > > > > > > > > > > <variable name="executionFlowVarSeq2" > > > > > > > type="xs:string"></variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > </variables> > > > > > > > > > > > > > > <correlationSets> > > > > > > > > > > > > > > <correlationSet name="inCorrelation" > > > > > > > properties="ns1:firstin"></correlationSet> > > > > > > > > > > > > > > <correlationSet name="inCorrelation1" > > > > > > > properties="ns2:secondin"></correlationSet> > > > > > > > > > > > > > > </correlationSets> > > > > > > > > > > > > > > <sequence name="MainSequence"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <receive name="Receive" partnerLink="bpelProcessPartner" > > > > > > > > > > > > > > operation="initiateProcess" > > > > > > > portType="ns0:FlowParallelInvoke" > > > > > > > > > > > > > > variable="initiateProcessRequest" > > > > > > > createInstance="yes"></receive> > > > > > > > > > > > > > > <assign name="Assign"> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from>$ode:pid</from> > > > > > > > > > > > > > > <to>$correlationVar</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from> > > > > > > > > > > > > > > <literal xml:space="preserve"> > > > > > > > > > > > > > > <ns3:initiate> > > > > > > > > > > > > > > <ns3:in></ns3:in> > > > > > > > > > > > > > > </ns3:initiate> > > > > > > > > > > > > > > </literal> > > > > > > > > > > > > > > </from> > > > > > > > > > > > > > > <to> > > > > > > > > > > > > > > $firstAsyncInvoke.parameters > > > > > > > > > > > > > > </to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from> > > > > > > > > > > > > > > <literal xml:space="preserve"> > > > > > > > > > > > > > > <ns4:initiate> > > > > > > > > > > > > > > <ns4:in></ns4:in> > > > > > > > > > > > > > > </ns4:initiate> > > > > > > > > > > > > > > </literal> > > > > > > > > > > > > > > </from> > > > > > > > > > > > > > > <to> > > > > > > > > > > > > > > $secondAsyncInvoke.parameters > > > > > > > > > > > > > > </to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from variable="correlationVar"/> > > > > > > > > > > > > > > <to>$firstAsyncInvoke.parameters/ns3:in</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from variable="correlationVar"/> > > > > > > > > > > > > > > <to>$secondAsyncInvoke.parameters/ns4:in</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > </assign> > > > > > > > > > > > > > > <flow name="FlowParallelInvokeReceive"> > > > > > > > > > > > > > > <sequence name="Sequence1"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <invoke name="Invoke1" > > > > > > > partnerLink="firstAsyncPartner" operation="initiate" > > > > > > > portType="ns1:FirstAsync" inputVariable="firstAsyncInvoke"> > > > > > > > > > > > > > > <correlations> > > > > > > > > > > > > > > <correlation > set="inCorrelation" > > > > > > > initiate="yes"></correlation> > > > > > > > > > > > > > > </correlations> > > > > > > > > > > > > > > </invoke> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq1-to1"> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from>"1"</from> > > > > > > > > > > > > > > <to>$executionFlowVarSeq1</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > </assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <wait name="Wait1"> > > > > > > > > > > > > > > <for>'PT1S'</for> > > > > > > > > > > > > > > </wait> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <receive name="Receive1" > > > > > > > partnerLink="firstAsyncPartner" operation="callback" > > > > > > > portType="ns1:FirstCallbackSOAP" variable="firstAsyncCallback"> > > > > > > > > > > > > > > <correlations> > > > > > > > > > > > > > > <correlation > set="inCorrelation" > > > > > > > initiate="no"></correlation> > > > > > > > > > > > > > > </correlations> > > > > > > > > > > > > > > </receive> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq1-to2"> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from>"2"</from> > > > > > > > > > > > > > > <to>$executionFlowVarSeq1</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > </assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > </sequence> > > > > > > > > > > > > > > <sequence name="Sequence2"> > > > > > > > > > > > > > > <invoke name="Invoke2" > > > > > > > partnerLink="secondAsyncPartner" operation="initiate" > > > > > > > portType="ns2:SecondAsync" inputVariable="secondAsyncInvoke"> > > > > > > > > > > > > > > <correlations> > > > > > > > > > > > > > > <correlation > > > set="inCorrelation1" > > > > > > > initiate="yes"></correlation> > > > > > > > > > > > > > > </correlations> > > > > > > > > > > > > > > </invoke> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq2-to1"> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from>"1"</from> > > > > > > > > > > > > > > <to>$executionFlowVarSeq2</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > </assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <wait name="Wait2"> > > > > > > > > > > > > > > <for>'PT1S'</for> > > > > > > > > > > > > > > </wait> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <receive name="Receive2" > > > > > > > partnerLink="secondAsyncPartner" operation="callback" > > > > > > > portType="ns2:SecondCallbackSOAP" variable="secondAsyncCallback"> > > > > > > > > > > > > > > <correlations> > > > > > > > > > > > > > > <correlation > > > set="inCorrelation1" > > > > > > > initiate="no"></correlation> > > > > > > > > > > > > > > </correlations> > > > > > > > > > > > > > > </receive> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <assign name="assignexecutionFlowVarSeq2-to2"> > > > > > > > > > > > > > > <copy> > > > > > > > > > > > > > > <from>"2"</from> > > > > > > > > > > > > > > <to>$executionFlowVarSeq2</to> > > > > > > > > > > > > > > </copy> > > > > > > > > > > > > > > </assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > </sequence> > > > > > > > > > > > > > > </flow> > > > > > > > > > > > > > > </sequence> > > > > > > > > > > > > > > </process> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > Vinay > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Sathwik B P [mailto:[email protected]] > > > > > > > Sent: Thursday, November 05, 2015 12:28 PM > > > > > > > To: [email protected]<mailto:[email protected]> > > > > > > > Subject: Re: Receive activities inside a Flow activity > > > > > > > > > > > > > > > > > > > > > > > > > > > > The input xml has a namespace for the "in" element and you are > > > > > > > probably trying to query for "in" element without using that namespace > > > > > > > and hence the selection failure exception. > > > > > > > > > > > > > > > > > > > > > > > > > > > > You might check your correlation definition. > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 5, 2015 at 11:04 AM, Vinay Vijay <[email protected] > > > > > > > <mailto:[email protected]>> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Sathwik, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have taken the process and modified the same so > > > > > > > > that > > > > > > > > > > > > > > > it can deploy and run in our environment. However I am getting the > > > > > > > > > > > > > > > following selection failure errors. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 115821 [ODEServer-1] ERROR org.apache.ode.bpel.runtime.INVOKE - > > > > > > > > > > > > > > > org.apache.ode.bpel.common.FaultException: No results for expression: > > > > > > > 'in' > > > > > > > > > > > > > > > against '<?xml version="1.0" encoding="UTF-8"?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <initiate xmlns="http://www.example.org/xsd/FirstAsync/"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <ns3:in xmlns:ns3="http://www.example.org/xsd/FirstAsync/ > > > > > > > > > > > > > > > ">500</ns3:in> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </initiate>' > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have uploaded the process archive into google drive at the > > > > > > > > following > > > > > > > > > > > > > > > location - > > > > > > > > > > > > > > > https://drive.google.com/file/d/0B7AACAopX_yxcTVhNWZ0b0VYSDQ/view?us > > > > > > > > p= > > > > > > > > > > > > > > > sharing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can you please inspect the files and see if something is missing? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vinay > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > From: Sathwik B P [mailto:[email protected]] > > > > > > > > > > > > > > > Sent: Wednesday, October 07, 2015 12:25 AM > > > > > > > > > > > > > > > To: [email protected]<mailto:[email protected]<mailto: > [email protected]%3cmailto:[email protected]>> > > > > > > > > > > > > > > > Subject: Re: Receive activities inside a Flow activity > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have packaged a process that has a flow with 2 sequences > > > > > > > > containing > > > > > > > > > > > > > > > invoke(one-way)->assign->wait->receive->assign. This process has > > > > > > > > been > > > > > > > > > > > > > > > verified on ODE 1.3.5 and embedded Derby database. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have highlighted the execution of the 2 sequences (yellow and > > > > > > > > brown) > > > > > > > > > > > > > > > within the flow in a couple of excel sheets. One of the excel sheet > > > > > > > > > > > > > > > demonstrates the execution of process instance to completion and the > > > > > > > > > > > > > > > other excel sheet demonstrates the process instance waiting for > > > > > > > > > > > > > > > external message to arrive. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The execution of the flow activity looks perfectly fine in this > > > scenario. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You may run this process in your environment and see how it goes. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Download the process artefact and excel sheet from this archive: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://dl.dropboxusercontent.com/u/92429475/FlowParallelInvoke.zip > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > FlowParallelInvoke.bpel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:process exitOnStandardFault="yes" > name="FlowParallelInvoke.bpel" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > targetNamespace="http://www.example.org/FlowParallelInvoke/" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable > > > > > > > " > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > xmlns:ns="http://www.example.org/FlowParallelInvoke/Artifacts" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > xmlns:ns0="http://www.example.org/FlowParallelInvoke/" > xmlns:ns1=" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.example.org/FirstAsync/" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > xmlns:ns2="http://www.example.org/SecondAsync/" xmlns:ns3=" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.w3.org/2001/XMLSchema" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:import namespace="http://www.example.org/SecondAsync/" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > location="SecondAsync.wsdl" importType=" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://schemas.xmlsoap.org/wsdl/"></bpel:import<<< > http://schemas.xmlsoap.org/wsdl/%22%3e%3c/bpel:import%3c%3c> > > > > > > > http://schemas.xmlsoap.org/wsdl/%22%3e%3c/bpel:import%3c> > > > > > > > > > > > > > > > http://schemas.xmlsoap.org/wsdl/%22%3e%3c/bpel:import>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:import namespace="http://www.example.org/FirstAsync/" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > location="FirstAsync.wsdl" importType=" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://schemas.xmlsoap.org/wsdl/"></bpel:import<<< > http://schemas.xmlsoap.org/wsdl/%22%3e%3c/bpel:import%3c%3c> > > > > > > > http://schemas.xmlsoap.org/wsdl/%22%3e%3c/bpel:import%3c> > > > > > > > > > > > > > > > http://schemas.xmlsoap.org/wsdl/%22%3e%3c/bpel:import>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:import importType="http://schemas.xmlsoap.org/wsdl/" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > location="FlowParallelInvoke.wsdl" namespace=" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.example.org/FlowParallelInvoke/" /> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:import importType="http://schemas.xmlsoap.org/wsdl/" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > location="FlowParallelInvokeArtifacts.wsdl" namespace=" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.example.org/FlowParallelInvoke/Artifacts" /> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:partnerLinks> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:partnerLink myRole="FlowParallelInvokeRole" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name="bpelProcessPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerLinkType="ns:FlowParallelInvokePLT" /> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:partnerLink name="firstAsyncPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerLinkType="ns1:FirstAsyncLinkType" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > myRole="FirstCallbackRole" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerRole="FirstAsyncRole" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > initializePartnerRole="yes"></bpel:partnerLink> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:partnerLink name="secondAsyncPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerLinkType="ns2:SecondAsyncLinkType" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > myRole="SecondCallbackRole" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerRole="SecondAsyncRole" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > initializePartnerRole="yes"></bpel:partnerLink> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:partnerLinks> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variables> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="initiateProcessRequest" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > messageType="ns0:initiateProcessRequest" /> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="firstAsyncInvoke" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > messageType="ns1:initiateRequest"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="firstAsyncCallback" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > messageType="ns1:callbackRequest"></bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="secondAsyncInvoke" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > messageType="ns2:initiateRequest"></bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="secondAsyncCallback" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > messageType="ns2:callbackRequest"></bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="correlationVar" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > type="xs:string"></bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="executionFlowVarSeq1" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > type="xs:string"></bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:variable name="executionFlowVarSeq2" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > type="xs:string"></bpel:variable> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:variables> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlationSets> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlationSet name="inCorrelation" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > properties="ns:firstin"></bpel:correlationSet> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:correlationSets> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:sequence name="MainSequence"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:receive name="Receive" partnerLink="bpelProcessPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > operation="initiateProcess" > > > portType="ns0:FlowParallelInvoke" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > variable="initiateProcessRequest" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > createInstance="yes"></bpel:receive> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:assign validate="no" name="Assign"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>current-dateTime()</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to>$correlationVar</bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:literal > > > > > > > > xml:space="preserve"><ns1:initiate> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <in>?</in> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </ns1:initiate></bpel:literal> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <![CDATA[$firstAsyncInvoke.parameters]]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>$correlationVar</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to><![CDATA[$firstAsyncInvoke.parameters/in]]></bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:literal > > > > > > > > xml:space="preserve"><ns2:initiate> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <in>?</in> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </ns2:initiate></bpel:literal> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <![CDATA[$secondAsyncInvoke.parameters]]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>$correlationVar</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to><![CDATA[$secondAsyncInvoke.parameters/in]]></bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:flow name="FlowParallelInvokeReceive"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:sequence name="Sequence1"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:invoke name="Invoke1" > > > > > > > partnerLink="firstAsyncPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > operation="initiate" portType="ns1:FirstAsync" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > inputVariable="firstAsyncInvoke"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlation set="inCorrelation" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > initiate="join"></bpel:correlation> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:invoke> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:assign validate="no" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name="assignexecutionFlowVarSeq1-to1"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>"1"</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to>$executionFlowVarSeq1</bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:wait name="Wait1"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:for>'PT1S'</bpel:for> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:wait> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:receive name="Receive1" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerLink="firstAsyncPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > operation="callback" > > > portType="ns1:FirstCallbackSOAP" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > variable="firstAsyncCallback"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlation set="inCorrelation" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > initiate="no"></bpel:correlation> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:receive> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:assign validate="no" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name="assignexecutionFlowVarSeq1-to2"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>"2"</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to>$executionFlowVarSeq1</bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:sequence> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:sequence name="Sequence2"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:invoke name="Invoke2" > > > > > > > > > > > > > > > partnerLink="secondAsyncPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > operation="initiate" portType="ns2:SecondAsync" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > inputVariable="secondAsyncInvoke"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlation set="inCorrelation" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > initiate="join"></bpel:correlation> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:invoke> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:assign validate="no" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name="assignexecutionFlowVarSeq2-to1"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>"1"</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to>$executionFlowVarSeq2</bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:wait name="Wait2"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:for>'PT1S'</bpel:for> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:wait> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:receive name="Receive2" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partnerLink="secondAsyncPartner" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > operation="callback" > > > > > > > portType="ns2:SecondCallbackSOAP" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > variable="secondAsyncCallback"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:correlation set="inCorrelation" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > initiate="no"></bpel:correlation> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:correlations> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:receive> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:assign validate="no" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name="assignexecutionFlowVarSeq2-to2"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:from>"2"</bpel:from> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <bpel:to>$executionFlowVarSeq2</bpel:to> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:copy> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:assign> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:sequence> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:flow> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:sequence> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > </bpel:process> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sathwik > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Oct 6, 2015 at 4:54 PM, Vinay Vijay <[email protected] > > > > > > > > > > > > > > > <mailto:[email protected]>> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Sathwik, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yes, process execution stalls in other branch also, till > > > > > > > > > an > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > external message arrives for receive in the first branch. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vinay > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: Sathwik B P [mailto:[email protected]] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Tuesday, October 06, 2015 4:25 PM > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > To: [email protected]<mailto:[email protected]<mailto: > > > > > > > [email protected]%3cmailto:[email protected]>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: Receive activities inside a Flow activity > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > "the non-executed activities in other branch are not started till > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > receive activity of the first branch is completed" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What do you mean by receive activity is completed? Does it mean > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > process execution stalls till an external message arrives for this > > > > > > > > > > > > > > > Receive? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Oct 5, 2015 at 7:28 PM, Vinay Vijay > > > > > > > > > <[email protected] > > > > > > > > > > > > > > > <mailto:[email protected]>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am having 2 parallel branches in a flow > activity. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Inside each branch I have a receive activity. When the process > > > > > > > > > > is > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > executed, the activities in each branch are executed in > > > > > > > > > > parallel, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > but as soon as the receive activity is started in one branch, > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > non-executed activities in other branch are not started till the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > receive activity of the first branch is completed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Is this the intended behavior? If yes, can you > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please throw more light on why is it so? I am using ODE 1.3.5. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > advance. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vinay > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
