Deploying and running a process with flow activity in Apache ode -
i have rewritten question more details. apologies not giving enough details. facing issue in apache ode while creating instance flow activity. able create instance through soap ui. issue though branches begin execute in parallel 1 branch completes execution while other branch not complete execution of activities in parallel branch.
bpel process authored has 2 flow branches. 1 branch calculates sum of 2 numbers, waits fixed period , adds fixed offset sum. other branch calculates product of 2 numbers, waits fixed period , adds fixed offset product. please note there no invokes in process. have pasted code reference.
when see ode logs, see instancenotfoundexception. instance present in bpel_instance table. have pasted logs below. not sure if related current issue facing.
i inspected bpel_event table , saw not ode events logged process. @ high level following activity events logged flow activity:
flow1 start, flowsequence2 start, assignproduct start, flowsequence1 start, assignsum start, assignsum end, wait1 start, assignproduct end, wait2 start, wait1 end, assign1 start, assign1 end, flowsequence1 end
if notice above there no events logged wait2 end, assign2 start & end, flowsequence2 end, processcompletionevent. instance not completed , in active state.
if create instance, activities of flowsequence2 might complete, of flowsequence1 not completed.
have deployed apache ode 1.3.5 on tomcat 6 oracle 11g database.
find below code:
bpel <?xml version="1.0" encoding="utf-8"?> <process name="parallelprocess" targetnamespace="http://www.example.com/bpel/parallelprocess" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:tns="http://www.example.com/bpel/parallelprocess" xmlns:pwsdl="http://www.example.com/wsdl/parallelprocess" xmlns:pxsd="http://www.example.com/schema/parallelprocess" > <import namespace="http://www.example.com/wsdl/parallelprocess" location="parallelprocess.wsdl" importtype="http://schemas.xmlsoap.org/wsdl/"/> <partnerlinks> <partnerlink name="parallelprocess_plink" partnerlinktype="pwsdl:parallelprocess" myrole="parallelprocessprovider" partnerrole="parallelprocessrequester"/> </partnerlinks> <variables> <variable name="parallelprocessin" messagetype="pwsdl:parallelprocessrequestmessage"/> <variable name="parallelprocessout" messagetype="pwsdl:parallelprocessresponsemessage"/> </variables> <sequence> <receive name="receiveinput" createinstance="yes" partnerlink="parallelprocess_plink" operation="initiate" porttype="pwsdl:parallelprocess" variable="parallelprocessin"/> <assign name="assigninit"> <copy> <from> <literal><pxsd:parallelprocessresponse><pxsd:sum/><pxsd:product/></pxsd:parallelprocessresponse></literal> </from> <to> $parallelprocessout.payload </to> </copy> </assign> <flow name="flow1"> <sequence name="flowsequence1"> <assign name="assignsum"> <copy> <from>$parallelprocessin.payload/pxsd:number1 + $parallelprocessin.payload/pxsd:number2</from> <to>$parallelprocessout.payload/pxsd:sum</to> </copy> </assign> <wait name="wait1"> <for>'pt5s'</for> </wait> <assign name="assign1"> <copy> <from>$parallelprocessout.payload/pxsd:sum + 2</from> <to>$parallelprocessout.payload/pxsd:sum</to> </copy> </assign> </sequence> <sequence name="flowsequence2"> <assign name="assignproduct"> <copy> <from>$parallelprocessin.payload/pxsd:number1 * $parallelprocessin.payload/pxsd:number2</from> <to>$parallelprocessout.payload/pxsd:product</to> </copy> </assign> <wait name="wait2"> <for>'pt5s'</for> </wait> <assign name="assign2"> <copy> <from>$parallelprocessout.payload/pxsd:product + 2</from> <to>$parallelprocessout.payload/pxsd:product</to> </copy> </assign> </sequence> </flow> </sequence> </process> wsdl
<?xml version="1.0"?> <definitions name="parallelprocess" targetnamespace="http://www.example.com/wsdl/parallelprocess" xmlns:tns="http://www.example.com/wsdl/parallelprocess" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:psns="http://www.example.com/schema/parallelprocess"> <types> <schema attributeformdefault="unqualified" elementformdefault="qualified" targetnamespace="http://www.example.com/wsdl/parallelprocess" xmlns="http://www.w3.org/2001/xmlschema"> <import schemalocation="parallelprocess.xsd" namespace="http://www.example.com/schema/parallelprocess"/> </schema> </types> <message name="parallelprocessrequestmessage"> <part name="payload" element="psns:parallelprocessrequest"/> </message> <message name="parallelprocessresponsemessage"> <part name="payload" element="psns:parallelprocessresponse"/> </message> <porttype name="parallelprocess"> <operation name="initiate"> <input message="tns:parallelprocessrequestmessage"/> </operation> </porttype> <porttype name="parallelprocesscallback"> <operation name="onresult"> <input message="tns:parallelprocessresponsemessage"/> </operation> </porttype> <plnk:partnerlinktype name="parallelprocess"> <plnk:role name="parallelprocessprovider" porttype="tns:parallelprocess"/> <plnk:role name="parallelprocessrequester" porttype="tns:parallelprocesscallback"/> </plnk:partnerlinktype> <binding name="parallelprocessbinding" type="tns:parallelprocess"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="initiate"> <soap:operation soapaction="http://www.example.com/wsdl/parallelprocess/initiate"/> <input> <soap:body use="literal"/> </input> </operation> </binding> <binding name="parallelprocesscallbackbinding" type="tns:parallelprocesscallback"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="onresult"> <soap:operation soapaction="http://www.example.com/wsdl/parallelprocess/onresult"/> <input> <soap:body use="literal"/> </input> </operation> </binding> <service name="parallelprocess"> <port name="parallelprocessport" binding="tns:parallelprocessbinding"> <soap:address location="http://localhost:8086/ode/processes/parallelprocessport"/> </port> </service> <service name="parallelprocesscallback"> <port name="parallelprocessportcallbackport" binding="tns:parallelprocesscallbackbinding"> <soap:address location="http://localhost:8086/ode/processes/parallelprocessportcallbackport"/> </port> </service> </definitions> xsd
<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.example.com/schema/parallelprocess" xmlns:tns="http://www.example.com/schema/parallelprocess" elementformdefault="qualified"> <xsd:complextype name="parallelprocessrequestcomplextype"> <xsd:sequence> <xsd:element name="number1" type="xsd:integer"/> <xsd:element name="number2" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="parallelprocessresponsecomplxtype"> <xsd:sequence> <xsd:element name="sum" type="xsd:integer"/> <xsd:element name="product" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> <xsd:element name="parallelprocessrequest" type="tns:parallelprocessrequestcomplextype"/> <xsd:element name="parallelprocessresponse" type="tns:parallelprocessresponsecomplxtype"/> </xsd:schema> ode log
org.apache.ode.bpel.pmapi.instancenotfoundexception: instancenotfoundexception 500 @ org.apache.ode.bpel.engine.processandinstancemanagementimpl.geninstanceinfodocument(processandinstancemanagementimpl.java:740) @ org.apache.ode.bpel.engine.processandinstancemanagementimpl.access$700(processandinstancemanagementimpl.java:152) @ org.apache.ode.bpel.engine.processandinstancemanagementimpl$7.run(processandinstancemanagementimpl.java:403) @ org.apache.ode.bpel.engine.processandinstancemanagementimpl$7.run(processandinstancemanagementimpl.java:401) @ org.apache.ode.bpel.engine.bpeldatabase$1.call(bpeldatabase.java:76) @ org.apache.ode.scheduler.simple.simplescheduler.exectransaction(simplescheduler.java:284) @ org.apache.ode.scheduler.simple.simplescheduler.exectransaction(simplescheduler.java:239) @ org.apache.ode.bpel.engine.bpeldatabase.exec(bpeldatabase.java:74) @ org.apache.ode.bpel.engine.processandinstancemanagementimpl.getinstanceinfo(processandinstancemanagementimpl.java:401) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597) @ org.apache.ode.il.dynamicservice.invoke(dynamicservice.java:71) @ org.apache.ode.axis2.service.managementservice$dynamicmessagereceiver.invokebusinesslogic(managementservice.java:126) @ org.apache.axis2.receivers.abstractmessagereceiver.receive(abstractmessagereceiver.java:96) @ org.apache.axis2.engine.axisengine.receive(axisengine.java:145) @ org.apache.axis2.transport.http.httptransportutils.processhttppostrequest(httptransportutils.java:275) @ org.apache.axis2.transport.http.axisservlet.dopost(axisservlet.java:120) @ javax.servlet.http.httpservlet.service(httpservlet.java:637) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:293) @ org.apache.coyote.http11.http11processor.process(http11processor.java:861) @ org.apache.coyote.http11.http11protocol$http11connectionhandler.process(http11protocol.java:620) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:489) @ java.lang.thread.run(thread.java:662)
Comments
Post a Comment