On Mon, Oct 13, 2008 at 2:36 PM, Pavel Trava <[EMAIL PROTECTED]> 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 > >
