On Fri, Sep 26, 2008 at 6:06 AM, NGUYEN Cong Kinh <
[EMAIL PROTECTED]> wrote:

> Hi everybody,
>
> In fact, I have a problem with executing the activity "pick". Could you
> help me to solve this problem.
>

The property alias used for your first receive is the following:

    <vprop:propertyAlias messageType="wsdl1:sayMessage" part="payload"
propertyName="tns:stUrl">
    </vprop:propertyAlias>

However your message looks like (once unwrapped):

<message><payload>
   <AsynRequest xmlns="http://www.tsi.enst.fr/paam"; xmlns:q0="http://
www.tsi.enst.fr/paam" 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";>
     <input>good afternoon</input>
   </AsynRequest>
</payload></message>

The property alias extracts the element AsynRequest instead of its child,
which doesn't have the expected property value. The property value isn't set
properly and when your second message comes in, it can't be correlated.

Matthieu


> Thank in advance,
> Kinh
>
> DEBUG - GeronimoLog.debug(66) | Starting transaction.
> DEBUG - GeronimoLog.debug(66) | Routed: svcQname
> {http://www.tsi.enst.fr/paam}As <http://www.tsi.enst.fr/paam%7DAs>
> ynService --> 
> BpelProcess[{http://www.tsi.enst.fr/paam}Asyn-1<http://www.tsi.enst.fr/paam%7DAsyn-1>
> ]
> DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation:
> name=process
> style=REQUEST_RESPONSE,1
> Input: name=null
> Message: 
> name={http://www.tsi.enst.fr/paam}AsynRequestMessage<http://www.tsi.enst.fr/paam%7DAsynRequestMessage>
> Part: name=payload
> elementName={http://www.tsi.enst.fr/paam}AsynRequest<http://www.tsi.enst.fr/paam%7DAsynRequest>
> Output: name=null
> Message: 
> name={http://www.tsi.enst.fr/paam}AsynResponseMessage<http://www.tsi.enst.fr/paam%7DAsynResponseMessage>
> Part: name=payload
> elementName={http://www.tsi.enst.fr/paam}AsynResponse<http://www.tsi.enst.fr/paam%7DAsynResponse>from
>  service
> {http://www.t
> si.enst.fr/paam}AsynService <http://si.enst.fr/paam%7DAsynService>
> DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX
> {MyRoleMex#hqejbhcnphr3mf
> jbn5eb3j [Client hqejbhcnphr3mfjbn5eb3i] calling
> {http://www.tsi.enst.fr/paam}As <http://www.tsi.enst.fr/paam%7DAs>
> ynService.process(...)}
> DEBUG - GeronimoLog.debug(66) | Message content:  <?xml version="1.0"
> encoding="
> UTF-8"?>
> <message><payload><AsynRequest xmlns="http://www.tsi.enst.fr/paam";
> xmlns:q0="htt
> p://www.tsi.enst.fr/paam"
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelop
> e/ <http://schemas.xmlsoap.org/soap/envelope/>" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/20
> 01/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance>">
>      <input>good afternoon</input>
>    </AsynRequest></payload></message>
> DEBUG - GeronimoLog.debug(66) | Routed: svcQname
> {http://www.tsi.enst.fr/paam}As <http://www.tsi.enst.fr/paam%7DAs>
> ynService --> 
> BpelProcess[{http://www.tsi.enst.fr/paam}Asyn-1<http://www.tsi.enst.fr/paam%7DAsyn-1>
> ]
> DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==>
> BpelProcess[{http://www.t
> si.enst.fr/paam}Asyn-1 <http://si.enst.fr/paam%7DAsyn-1>]
> DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX
> {MyRoleMex#hqejbhcnphr3mfjbn5e
> b3j [Client hqejbhcnphr3mfjbn5eb3i] calling
> {http://www.tsi.enst.fr/paam}AsynSer<http://www.tsi.enst.fr/paam%7DAsynSer>
> vice.process(...)}
> DEBUG - GeronimoLog.debug(66) | Commiting transaction.
> DEBUG - GeronimoLog.debug(66) | >>
> handleWorkEvent(jobData={mexid=hqejbhcnphr3mf
> jbn5eb3j, 
> pid={http://www.tsi.enst.fr/paam}Asyn-1<http://www.tsi.enst.fr/paam%7DAsyn-1>,
> type=INVOKE_INTERNAL})
> DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid
> hqejbhcnphr3mfjbn
> 5eb3j
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.myRoleSessi
> onId = null
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.myRoleSessi
> onId = null
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.partnerRole
> SessionId = null
> DEBUG - GeronimoLog.debug(66) | INPUTMSG: 15.process: MSG RCVD
> keys=[{Correlatio
> nKey setId=14, values=[
>      null
>    ]}] mySessionId=null partnerSessionId=null
> DEBUG - GeronimoLog.debug(66) | INPUTMSG: 15.process: routing failed,
> CREATING N
> EW INSTANCE
> DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for
> instance 701.
>  INDEXED STATE={}
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING
> CORRELATOR
> 15.process
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING
> for NEW
> INSTANCE match
> DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance
> state f
> rom ready to active
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match
> for N
> EW instance mexRef={MyRoleMex#hqejbhcnphr3mfjbn5eb3j [Client
> hqejbhcnphr3mfjbn5e
> b3i] calling 
> {http://www.tsi.enst.fr/paam}AsynService.process(...)<http://www.tsi.enst.fr/paam%7DAsynService.process%28...%29>
> }
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#17: USING
> CORRELATOR
>  15.say
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#17: ADDED
> ROUTE 15.s
> ay: {CorrelationKey setId=14, values=[
>      null
>    ]} --> 701
> DEBUG - GeronimoLog.debug(66) | Setting execution state on instance 701
> DEBUG - GeronimoLog.debug(66) | Thread[ODEServer-1,5,main]: lock(iid=701,
> time=1
> MICROSECONDS)
> DEBUG - GeronimoLog.debug(66) | Thread[ODEServer-1,5,main]: lock(iid=701,
> time=1
> MICROSECONDS)-->GRANTED
> DEBUG - GeronimoLog.debug(66) | >> handleWorkEvent(jobData={ckey=14~
>      null
>    , correlatorId=15.say, inmem=false, iid=701, type=MATCHER})
> DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for
> instance 701.
>  INDEXED STATE={OPickReceive#24-Pick::9=[ACTIVITYGUARD(...)], {OScope
> '__PROCESS
> _SCOPE:Asyn' id=8}::0=[SCOPE(...)], {OScope '__PROCESS_SCOPE:Asyn'
> id=8}::0=[ACT
> IVE(...)], OSequence#16-main::1=[ACTIVITYGUARD(...)],
> OPickReceive#24-Pick::10=[
> PICK(...)],
> OSequence#16-main::2=[SEQUENCE(self=(OSequence#16-main,TerminationCh
> annel#3,ParentScopeChannel#5),
> [EMAIL PROTECTED]
> 242445, remaining=[OPickReceive#24-Pick, OReply#33-replyOutput])]}
> DEBUG - GeronimoLog.debug(66) | Matcher event for iid 701
> DEBUG - GeronimoLog.debug(66) | MatcherEvent handling:
> correlatorId=15.say, ckey
> ={CorrelationKey setId=14, values=[
>      null
>    ]}
> DEBUG - GeronimoLog.debug(66) | MatcherEvent handling: nothing to do, no
> matchin
> g message in DB
>
>
> My BPEL is here:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <bpws:process exitOnStandardFault="yes" name="Asyn"
>     suppressJoinFailure="yes"
>    targetNamespace="http://www.tsi.enst.fr/paam";
>    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
> xmlns:tns="http://www.tsi.enst.fr/paam";>
>    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/";
>         location="Asyn.wsdl" namespace="http://www.tsi.enst.fr/paam"/>
>     <bpws:partnerLinks>
>        <bpws:partnerLink myRole="AsynProvider" name="client"
> partnerLinkType="tns:Asyn"/>
>     </bpws:partnerLinks>
>    <bpws:variables>
>        <bpws:variable messageType="tns:AsynRequestMessage" name="input"/>
>        <bpws:variable messageType="tns:AsynResponseMessage" name="output"/>
>    </bpws:variables>
>    <bpws:correlationSets>
>        <bpws:correlationSet name="CS" properties="tns:input"/>
>     </bpws:correlationSets>
>    <bpws:sequence name="main">
>        <bpws:receive createInstance="yes" name="receiveInput"
>            operation="process" partnerLink="client" portType="tns:Asyn"
> variable="input">
>            <bpws:correlations>
>                <bpws:correlation initiate="yes" set="CS"/>
>            </bpws:correlations>
>        </bpws:receive>
>         <bpws:assign name="Assign" validate="no">
>            <bpws:copy>
>                <bpws:from>
>                    <bpws:literal>
>                         <tns:AsynResponseMessage
> xmlns:tns="http://www.tsi.enst.fr/paam";>
>                            <tns:result/>
>                         </tns:AsynResponseMessage>
>                     </bpws:literal>
>                </bpws:from>
>                <bpws:to part="payload" variable="output"/>
>            </bpws:copy>
>         </bpws:assign>
>         <bpws:pick name="Pick">
>            <bpws:onMessage operation="say" partnerLink="client"
>                 portType="tns:Asyn" variable="input">
>                 <bpws:correlations>
>                    <bpws:correlation initiate="no" set="CS"/>
>                </bpws:correlations>
>                <bpws:sequence name="Sequence">
>                    <bpws:assign name="Assign1" validate="no">
>                        <bpws:copy>
>                            <bpws:from>
>                                 <bpws:literal>helloworld</bpws:literal>
>                             </bpws:from>
>                            <bpws:to part="payload" variable="output">
>                                <bpws:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:result]]></bpws:query>
>                            </bpws:to>
>                        </bpws:copy>
>                    </bpws:assign>
>                 </bpws:sequence>
>            </bpws:onMessage>
>        </bpws:pick>
>         <bpws:reply name="replyOutput" operation="process"
>             partnerLink="client" portType="tns:Asyn" variable="output"/>
>    </bpws:sequence>
> </bpws:process>
>
>
>
> --
> NGUYEN Cong Kinh
>
>

Reply via email to