You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Vinay Vijay <vi...@altair.com> on 2015/11/05 06:34:15 UTC

RE: Receive activities inside a Flow activity

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?usp=sharing



Can you please inspect the files and see if something is missing?



Regards,

Vinay



-----Original Message-----
From: Sathwik B P [mailto:sathwik.bp@gmail.com]
Sent: Wednesday, October 07, 2015 12:25 AM
To: user@ode.apache.org
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>>

    <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>>

    <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 <vi...@altair.com>> 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:sathwik.bp@gmail.com]

> Sent: Tuesday, October 06, 2015 4:25 PM

> To: user@ode.apache.org<ma...@ode.apache.org>

> 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 <vi...@altair.com>>

> 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

> >

>

Re: Receive activities inside a Flow activity

Posted by Sathwik B P <sa...@gmail.com>.
Can you kindly compare the data within <in> element for the outgoing and
incoming message? Are they equal?

On Fri, Nov 27, 2015 at 4:24 PM, Vinay Vijay <vi...@altair.com> wrote:

> Hi Sathwik,
>         I used tcpmon to inspect the input and output soap messages. The
> callback from external service to ode process seems to have soap header
> missing. Find below the messages for one partner link (FirstAsync). Is this
> the issue? If so, should I implement SOAPHandler and HandlerResolver on
> external web service side?
>
> Call from process:
>    <?xml version='1.0' encoding='UTF-8'?>
>       <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/">
>          <soapenv:Header>
>             <addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">
> http://localhost:8088/FirstWS/services/FirstAsyncSOAP</addr:To>
>             <addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing
> ">http://www.example.org/FirstAsync/initiate</addr:Action>
>             <addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing
> ">
>                <addr:Address>http://www.w3.org/2005/08/addressing/none
> </addr:Address>
>             </addr:ReplyTo>
>             <addr:MessageID xmlns:addr="
> http://www.w3.org/2005/08/addressing
> ">urn:uuid:3764E35703A6646FD81448620154768</addr:MessageID>
>             <odesession:callback xmlns:odesession="
> http://www.apache.org/ode/type/session">
>                <addr:Address xmlns:addr="
> http://www.w3.org/2005/08/addressing">
> http://localhost:8088/ode/processes/FirstCallbackSOAP</addr:Address>
>
>  <odesession:session>hqejbhcnphrask81ver0rr</odesession:session>
>             </odesession:callback>
>             <intalio:callback xmlns:intalio="
> http://www.intalio.com/type/session">
>                <addr:Address xmlns:addr="
> http://www.w3.org/2005/08/addressing" />
>                <intalio:session>hqejbhcnphrask81ver0rr</intalio:session>
>             </intalio:callback>
>          </soapenv:Header>
>          <soapenv:Body>
>             <initiate xmlns="http://www.example.org/xsd/FirstAsync/">
>                <ns3:in xmlns:ns3="http://www.example.org/xsd/FirstAsync/
> ">2015-11-27T15:59:11.353+05:30</ns3:in>
>             </initiate>
>          </soapenv:Body>
>       </soapenv:Envelope>
>
> Callback from FirstAsync:
> <?xml version="1.0" encoding="UTF-8"?>
>    <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
>       <soapenv:Body>
>          <callback xmlns="http://www.example.org/xsd/FirstAsync/">
>             <in>called back: 2015-11-27T15:59:11.353+05:30</in>
>          </callback>
>       </soapenv:Body>
>    </soapenv:Envelope>
>
> Regards,
> Vinay
>
> -----Original Message-----
> From: Sathwik B P [mailto:sathwik.bp@gmail.com]
> Sent: Thursday, November 26, 2015 3:36 PM
> To: user@ode.apache.org
> Subject: Re: Receive activities inside a Flow activity
>
> 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 <vi...@altair.com>
> 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:sathwik.bp@gmail.com]
> > Sent: Wednesday, November 25, 2015 12:51 AM
> > To: user@ode.apache.org
> > 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 <vinay.vijay@altair.com
> > <ma...@altair.com>> 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:vinay.vijay@altair.com]
> >
> > >
> >
> > > Sent: Thursday, November 05, 2015 2:02 PM
> >
> > >
> >
> > > To: user@ode.apache.org<ma...@ode.apache.org>
> >
> > >
> >
> > > 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:sathwik.bp@gmail.com]
> >
> > >
> >
> > > Sent: Thursday, November 05, 2015 1:33 PM
> >
> > >
> >
> > > To: user@ode.apache.org<ma...@ode.apache.org>
> >
> > >
> >
> > > 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 <vinay.vijay@altair.com
> > <ma...@altair.com>>
> >
> > > 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:sathwik.bp@gmail.com]
> >
> > >
> >
> > > > Sent: Thursday, November 05, 2015 12:28 PM
> >
> > >
> >
> > > > To: user@ode.apache.org<ma...@ode.apache.org>
> >
> > >
> >
> > > > 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 <vinay.vijay@altair.com
> >
> > >
> >
> > > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > Sent: Wednesday, October 07, 2015 12:25 AM
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
> > user@ode.apache.org%3cmailto:user@ode.apache.org>>
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > 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 <
> vinay.vijay@altair.com
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > > Sent: Tuesday, October 06, 2015 4:25 PM
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
> >
> > >
> >
> > > > user@ode.apache.org%3cmailto:user@ode.apache.org>>
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > > 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
> >
> > >
> >
> > > > > > <vinay.vijay@altair.com
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > <ma...@altair.com>>
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > > 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
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
> > > > >
> >
> > >
> >
> > > >
> >
> > >
> >
>

RE: Receive activities inside a Flow activity

Posted by Vinay Vijay <vi...@altair.com>.
Hi Sathwik,
	I used tcpmon to inspect the input and output soap messages. The callback from external service to ode process seems to have soap header missing. Find below the messages for one partner link (FirstAsync). Is this the issue? If so, should I implement SOAPHandler and HandlerResolver on external web service side?

Call from process:
   <?xml version='1.0' encoding='UTF-8'?>
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soapenv:Header>
            <addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8088/FirstWS/services/FirstAsyncSOAP</addr:To>
            <addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing">http://www.example.org/FirstAsync/initiate</addr:Action>
            <addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing">
               <addr:Address>http://www.w3.org/2005/08/addressing/none</addr:Address>
            </addr:ReplyTo>
            <addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">urn:uuid:3764E35703A6646FD81448620154768</addr:MessageID>
            <odesession:callback xmlns:odesession="http://www.apache.org/ode/type/session">
               <addr:Address xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8088/ode/processes/FirstCallbackSOAP</addr:Address>
               <odesession:session>hqejbhcnphrask81ver0rr</odesession:session>
            </odesession:callback>
            <intalio:callback xmlns:intalio="http://www.intalio.com/type/session">
               <addr:Address xmlns:addr="http://www.w3.org/2005/08/addressing" />
               <intalio:session>hqejbhcnphrask81ver0rr</intalio:session>
            </intalio:callback>
         </soapenv:Header>
         <soapenv:Body>
            <initiate xmlns="http://www.example.org/xsd/FirstAsync/">                            
               <ns3:in xmlns:ns3="http://www.example.org/xsd/FirstAsync/">2015-11-27T15:59:11.353+05:30</ns3:in>                        
            </initiate>
         </soapenv:Body>
      </soapenv:Envelope>

Callback from FirstAsync:
<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body>
         <callback xmlns="http://www.example.org/xsd/FirstAsync/">
            <in>called back: 2015-11-27T15:59:11.353+05:30</in>
         </callback>
      </soapenv:Body>
   </soapenv:Envelope>

Regards,
Vinay

-----Original Message-----
From: Sathwik B P [mailto:sathwik.bp@gmail.com] 
Sent: Thursday, November 26, 2015 3:36 PM
To: user@ode.apache.org
Subject: Re: Receive activities inside a Flow activity

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 <vi...@altair.com> 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:sathwik.bp@gmail.com]
> Sent: Wednesday, November 25, 2015 12:51 AM
> To: user@ode.apache.org
> 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 <vinay.vijay@altair.com
> <ma...@altair.com>> 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:vinay.vijay@altair.com]
>
> >
>
> > Sent: Thursday, November 05, 2015 2:02 PM
>
> >
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > 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:sathwik.bp@gmail.com]
>
> >
>
> > Sent: Thursday, November 05, 2015 1:33 PM
>
> >
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > 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 <vinay.vijay@altair.com
> <ma...@altair.com>>
>
> > 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:sathwik.bp@gmail.com]
>
> >
>
> > > Sent: Thursday, November 05, 2015 12:28 PM
>
> >
>
> > > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > > 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 <vinay.vijay@altair.com
>
> >
>
> > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > >
>
> >
>
> > > > Sent: Wednesday, October 07, 2015 12:25 AM
>
> >
>
> > >
>
> >
>
> > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
> user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > >
>
> >
>
> > > > 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 <vinay.vijay@altair.com
>
> >
>
> > >
>
> >
>
> > > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > Sent: Tuesday, October 06, 2015 4:25 PM
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
>
> >
>
> > > user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > 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
>
> >
>
> > > > > <vinay.vijay@altair.com
>
> >
>
> > >
>
> >
>
> > > > <ma...@altair.com>>
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > 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
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > >
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > >
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>

Re: Receive activities inside a Flow activity

Posted by Sathwik B P <sa...@gmail.com>.
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 <vi...@altair.com> 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:sathwik.bp@gmail.com]
> Sent: Wednesday, November 25, 2015 12:51 AM
> To: user@ode.apache.org
> 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 <vinay.vijay@altair.com
> <ma...@altair.com>> 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:vinay.vijay@altair.com]
>
> >
>
> > Sent: Thursday, November 05, 2015 2:02 PM
>
> >
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > 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:sathwik.bp@gmail.com]
>
> >
>
> > Sent: Thursday, November 05, 2015 1:33 PM
>
> >
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > 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 <vinay.vijay@altair.com
> <ma...@altair.com>>
>
> > 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:sathwik.bp@gmail.com]
>
> >
>
> > > Sent: Thursday, November 05, 2015 12:28 PM
>
> >
>
> > > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > > 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 <vinay.vijay@altair.com
>
> >
>
> > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > >
>
> >
>
> > > > Sent: Wednesday, October 07, 2015 12:25 AM
>
> >
>
> > >
>
> >
>
> > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
> user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > >
>
> >
>
> > > > 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 <vinay.vijay@altair.com
>
> >
>
> > >
>
> >
>
> > > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > Sent: Tuesday, October 06, 2015 4:25 PM
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
>
> >
>
> > > user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > 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
>
> >
>
> > > > > <vinay.vijay@altair.com
>
> >
>
> > >
>
> >
>
> > > > <ma...@altair.com>>
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > 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
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > > >
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > >
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>

RE: Receive activities inside a Flow activity

Posted by Vinay Vijay <vi...@altair.com>.
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:sathwik.bp@gmail.com]
Sent: Wednesday, November 25, 2015 12:51 AM
To: user@ode.apache.org
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 <vi...@altair.com>> 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:vinay.vijay@altair.com]

>

> Sent: Thursday, November 05, 2015 2:02 PM

>

> To: user@ode.apache.org<ma...@ode.apache.org>

>

> 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:sathwik.bp@gmail.com]

>

> Sent: Thursday, November 05, 2015 1:33 PM

>

> To: user@ode.apache.org<ma...@ode.apache.org>

>

> 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 <vi...@altair.com>>

> 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:sathwik.bp@gmail.com]

>

> > Sent: Thursday, November 05, 2015 12:28 PM

>

> > To: user@ode.apache.org<ma...@ode.apache.org>

>

> > 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 <vinay.vijay@altair.com

>

> > <ma...@altair.com>> 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:sathwik.bp@gmail.com]

>

> >

>

> > > Sent: Wednesday, October 07, 2015 12:25 AM

>

> >

>

> > > To: user@ode.apache.org<ma...@ode.apache.org>>

>

> >

>

> > > 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 <vinay.vijay@altair.com

>

> >

>

> > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]

>

> >

>

> > >

>

> >

>

> > > > Sent: Tuesday, October 06, 2015 4:25 PM

>

> >

>

> > >

>

> >

>

> > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:

>

> > user@ode.apache.org%3cmailto:user@ode.apache.org>>

>

> >

>

> > >

>

> >

>

> > > > 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

>

> > > > <vinay.vijay@altair.com

>

> >

>

> > > <ma...@altair.com>>

>

> >

>

> > >

>

> >

>

> > > > 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

>

> >

>

> > >

>

> >

>

> > > > >

>

> >

>

> > >

>

> >

>

> > > >

>

> >

>

> > >

>

> >

>

Re: Receive activities inside a Flow activity

Posted by Sathwik B P <sa...@gmail.com>.
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 <vi...@altair.com> 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:vinay.vijay@altair.com]
>
> Sent: Thursday, November 05, 2015 2:02 PM
>
> To: user@ode.apache.org
>
> 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:sathwik.bp@gmail.com]
>
> Sent: Thursday, November 05, 2015 1:33 PM
>
> To: user@ode.apache.org
>
> 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 <vi...@altair.com>
> 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:sathwik.bp@gmail.com]
>
> > Sent: Thursday, November 05, 2015 12:28 PM
>
> > To: user@ode.apache.org
>
> > 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 <vinay.vijay@altair.com
>
> > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > > Sent: Wednesday, October 07, 2015 12:25 AM
>
> >
>
> > > To: user@ode.apache.org<ma...@ode.apache.org>
>
> >
>
> > > 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>
>
> >
>
> > > 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>
>
> >
>
> > > 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 <vinay.vijay@altair.com
>
> >
>
> > > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > >
>
> >
>
> > > > Sent: Tuesday, October 06, 2015 4:25 PM
>
> >
>
> > >
>
> >
>
> > > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
>
> > user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > >
>
> >
>
> > > > 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
>
> > > > <vinay.vijay@altair.com
>
> >
>
> > > <ma...@altair.com>>
>
> >
>
> > >
>
> >
>
> > > > 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
>
> >
>
> > >
>
> >
>
> > > > >
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>

RE: Receive activities inside a Flow activity

Posted by Vinay Vijay <vi...@altair.com>.
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:vinay.vijay@altair.com]

Sent: Thursday, November 05, 2015 2:02 PM

To: user@ode.apache.org

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:sathwik.bp@gmail.com]

Sent: Thursday, November 05, 2015 1:33 PM

To: user@ode.apache.org

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 <vi...@altair.com> 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:sathwik.bp@gmail.com]

> Sent: Thursday, November 05, 2015 12:28 PM

> To: user@ode.apache.org

> 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 <vinay.vijay@altair.com

> <ma...@altair.com>> 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:sathwik.bp@gmail.com]

>

> > Sent: Wednesday, October 07, 2015 12:25 AM

>

> > To: user@ode.apache.org<ma...@ode.apache.org>

>

> > 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>

>

> > 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>

>

> > 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 <vinay.vijay@altair.com

>

> > <ma...@altair.com>> 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:sathwik.bp@gmail.com]

>

> >

>

> > > Sent: Tuesday, October 06, 2015 4:25 PM

>

> >

>

> > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:

> user@ode.apache.org%3cmailto:user@ode.apache.org>>

>

> >

>

> > > 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

> > > <vinay.vijay@altair.com

>

> > <ma...@altair.com>>

>

> >

>

> > > 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

>

> >

>

> > > >

>

> >

>

> > >

>

> >

>

RE: Receive activities inside a Flow activity

Posted by Vinay Vijay <vi...@altair.com>.
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:sathwik.bp@gmail.com] 
Sent: Thursday, November 05, 2015 1:33 PM
To: user@ode.apache.org
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 <vi...@altair.com> 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:sathwik.bp@gmail.com]
> Sent: Thursday, November 05, 2015 12:28 PM
> To: user@ode.apache.org
> 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 <vinay.vijay@altair.com 
> <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> > Sent: Wednesday, October 07, 2015 12:25 AM
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> > 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>
>
> > 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>
>
> > 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 <vinay.vijay@altair.com
>
> > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > > Sent: Tuesday, October 06, 2015 4:25 PM
>
> >
>
> > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
> user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > > 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 
> > > <vinay.vijay@altair.com
>
> > <ma...@altair.com>>
>
> >
>
> > > 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
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>

Re: Receive activities inside a Flow activity

Posted by Sathwik B P <sa...@gmail.com>.
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 <vi...@altair.com> 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:sathwik.bp@gmail.com]
> Sent: Thursday, November 05, 2015 12:28 PM
> To: user@ode.apache.org
> 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 <vinay.vijay@altair.com
> <ma...@altair.com>> 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?usp=
>
> > sharing
>
> >
>
> >
>
> >
>
> > Can you please inspect the files and see if something is missing?
>
> >
>
> >
>
> >
>
> > Regards,
>
> >
>
> > Vinay
>
> >
>
> >
>
> >
>
> > -----Original Message-----
>
> > From: Sathwik B P [mailto:sathwik.bp@gmail.com]
>
> > Sent: Wednesday, October 07, 2015 12:25 AM
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> > 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>
>
> > 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>
>
> > 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 <vinay.vijay@altair.com
>
> > <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> >
>
> > > Sent: Tuesday, October 06, 2015 4:25 PM
>
> >
>
> > > To: user@ode.apache.org<mailto:user@ode.apache.org<mailto:
> user@ode.apache.org%3cmailto:user@ode.apache.org>>
>
> >
>
> > > 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 <vinay.vijay@altair.com
>
> > <ma...@altair.com>>
>
> >
>
> > > 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
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>

RE: Receive activities inside a Flow activity

Posted by Vinay Vijay <vi...@altair.com>.
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:sathwik.bp@gmail.com]
Sent: Thursday, November 05, 2015 12:28 PM
To: user@ode.apache.org
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 <vi...@altair.com>> 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?usp=

> sharing

>

>

>

> Can you please inspect the files and see if something is missing?

>

>

>

> Regards,

>

> Vinay

>

>

>

> -----Original Message-----

> From: Sathwik B P [mailto:sathwik.bp@gmail.com]

> Sent: Wednesday, October 07, 2015 12:25 AM

> To: user@ode.apache.org<ma...@ode.apache.org>

> 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>

> 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>

> 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 <vinay.vijay@altair.com

> <ma...@altair.com>> 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:sathwik.bp@gmail.com]

>

> > Sent: Tuesday, October 06, 2015 4:25 PM

>

> > To: user@ode.apache.org<ma...@ode.apache.org>>

>

> > 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 <vinay.vijay@altair.com

> <ma...@altair.com>>

>

> > 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

>

> > >

>

> >

>

Re: Receive activities inside a Flow activity

Posted by Sathwik B P <sa...@gmail.com>.
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 <vi...@altair.com> 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?usp=sharing
>
>
>
> Can you please inspect the files and see if something is missing?
>
>
>
> Regards,
>
> Vinay
>
>
>
> -----Original Message-----
> From: Sathwik B P [mailto:sathwik.bp@gmail.com]
> Sent: Wednesday, October 07, 2015 12:25 AM
> To: user@ode.apache.org
> 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>>
>
>     <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>>
>
>     <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 <vinay.vijay@altair.com
> <ma...@altair.com>> 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:sathwik.bp@gmail.com]
>
> > Sent: Tuesday, October 06, 2015 4:25 PM
>
> > To: user@ode.apache.org<ma...@ode.apache.org>
>
> > 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 <vinay.vijay@altair.com
> <ma...@altair.com>>
>
> > 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
>
> > >
>
> >
>