ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: eventHandlers and conflictingReceive
Date Tue, 14 Oct 2008 14:45:39 GMT
On Mon, Oct 13, 2008 at 2:36 PM, Pavel Trava <travap123@yahoo.com> wrote:

> Hello.
> I would like to ask you for advice with eventHandlers. I prepared some very
> simple BPEL project, which does almost nothing (only waits),
> but there is one correlationSet and one eventHandler. Process has 2
> operations: process (like a init) and eventOper. When I call eventOper
> (onEvent), the process instance fails with error
> response:conflictingReceive.
>
> Structure of my process is:
> <process>
>    imports...
>    one partnerLink (my own)
>    variables used for receive and reply
>    one correlationSet
>    <sequence name="main">
>        <receive>...</receive>
>        <assign>...</assign>
>        <reply>...</reply>
>        <scope name="waitScope">
>           <variables used for eventHandlers...>
>            <eventHandlers>
>                <onEvent operation="eventOper"....>
>                   reference to correlation defined above
>                    wait activity (for 1 second)
>                </onEvent>
>            </eventHandlers>
>           <bpws:wait
> name="Wait"><bpws:for><![CDATA['PT20S']]></bpws:for></bpws:wait>
>          </scope>
>    </sequence>
> </process>
>
> I am sending the following message by sendsoap.bat (to process/eventOper
> operations):
> <?xml version="1.0" encoding="utf-8" ?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
> http://schemas.xmlsoap.org/soap/envelope/">
>  <SOAP-ENV:Body>
>    <ns2:SimpleProcessRequest xmlns:ns2="http://test/SimpleProcNS">
>        <ns2:input>user0001</ns2:input>
>    </ns2:SimpleProcessRequest>
>  </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> When only 'process' operation is called from external client, then
> everything works OK. Reply is received immediately and after 20 seconds the
> status of process changes from ACTIVE to COMPLETED (checked by
> "InstanceManagement.listAllInstances" API). But when during this 20 seconds
> I call the operation 'eventOper', then the process finishes in FAILED state
> and I receive
> <faultcode>soapenv:Server</faultcode>
> <faultstring>axis2ns56:conflictingReceive</faultstring>
>
> I don't understand the log messages, but it seems there is nothing special
> in the log-file, several debug messages and one error message:
> 13.10.2008 23:05:44 [ERROR] GeronimoLog.error(104) -
> org.apache.ode.bpel.common.FaultException: {Selector
> plinkInstnace={PartnerLinkInstance
> partnerLinkDecl=OPartnerLink#17,scopeInstanceId=2597},ckey={CorrelationKey
> setId=16, values=[user0001]},opName=eventOper,oneWay=no,mexId=<null>,idx=0}
>
> Please, can you help me? Or can you send me some working example with
> eventHandlers and correlationSets? I am working on this problem more than 2
> days. I use Tomcat 5.5.26 and Apache ODE 1.2. I can send also the whole
> project (SimpleProcess.bpel, SimpleProcess.wsdl,
> SimpleProcessArtifcats.wsdl, deploy.xml), if the information above will not
> be sufficient.
>
>
The WSDL would probably help but what sounds weird is that you're sending
twice the same message for two different operations. You seem to be using a
document literal binding, in which case for each operation on your service,
the element associated with each message should be different. So you should
be sending a message with a body element named something like processRequest
and another with a body element of eventOperRequest.

You didn't get any warning at deployment? I thought we had a little check to
detect those situations.

Thanks,
Matthieu


>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message