Ah! still the bpel file did not go through. I am attaching the same as
.txt. Please rename it to .bpel after you download it.
I have attached the entire process zip, if it happens to go through, you
can take that itself. Please rename the extension after downloading the
same.
Regards,
Vinay
On Tue, Apr 14, 2015 at 12:26 PM, Vinay Official <[email protected]>
wrote:
> I am not sure why the bpel file din't go through. Please find the same
> attached.
>
> Regards,
> Vinay
>
>
>
>>
>>
>>
>> *From:* Vinay Official [mailto:[email protected]]
>> *Sent:* Tuesday, April 14, 2015 12:20 PM
>> *To:* [email protected]
>> *Subject:* Re: FW: Issue with execution of process having parallel
>> activity
>>
>>
>>
>> Hi Sathwick,
>>
>> Please find attached the process artifacts. I am attaching the
>> individual files as I am not sure if the zip file gets stripped off.
>>
>> I have not tried deploying the same on ode 1.3.6 as we use Oracle
>> as the back end. This needs a set of changes to the ode.war. I will confirm
>> to you if this happens on ode 1.3.6 once I check on the same.
>>
>> Thank you for the reply. Awaiting your response.
>>
>> Regards,
>>
>> Vinay
>>
>>
>>
>>
>> -----Original Message-----
>> From: Sathwik B P [mailto:[email protected]]
>> Sent: Friday, April 10, 2015 3:15 PM
>> To: [email protected]
>> Subject: Re: Issue with execution of process having parallel activity
>>
>> Hi Vinay,
>>
>> Are you in production with ODE 1.3.5?
>>
>> Can you check if this happens on ODE 1.3.6?
>>
>> Can you attach the complete process artifacts? Will try on my side.
>>
>> regards,
>> sathwik
>>
>> On Thu, Apr 9, 2015 at 6:54 AM, Vinay Official <[email protected]>
>> wrote:
>>
>>
>> > Hi,
>> > I am facing issue in Apache ODE while creating an instance with
>> > flow activity. I am able to create an instance through soap ui. The
>> > issue is that though the branches begin to execute in parallel only
>> > one branch completes the execution while other branch does not
>> > complete execution of all the activities in that parallel branch.
>> > The bpel process that I authored has 2 flow branches. One branch
>> > calculates the sum of 2 numbers, waits for a fixed period and adds a
>> > fixed offset to the sum. The other branch calculates the product of 2
>> > numbers, waits for a fixed period and adds a fixed offset to the
>> > product. Please note that there are no invokes in the process. I have
>> pasted the code for reference.
>> >
>> > When I see the ode logs, I see InstanceNotFoundException. But the
>> > instance is present in BPEL_INSTANCE table. I have pasted the logs
>> > below. I am not sure if this is related to the current issue I am
>> facing.
>> >
>> > I inspected the BPEL_EVENT table and saw that not all ode events are
>> > logged for the process. At a high level following activity events are
>> > only logged for the 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 you notice above there are no events logged for wait2 end, Assign2
>> > start & end, FlowSequence2 end, ProcessCompletionEvent. The instance
>> > is not completed and is in active state.
>> > If I create another instance, the activities of FlowSequence2 might
>> > fully complete, but that of FlowSequence1 will not be completed.
>> > I have deployed apache ode 1.3.5 on tomcat 6 with Oracle 11g as the
>> > database.
>> >
>> > Find below the 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
>> > at
>> >
>> >
>> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.genInstanceInfoDocument(ProcessAndInstanceManagementImpl.java:740)
>> > at
>> >
>> >
>> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.access$700(ProcessAndInstanceManagementImpl.java:152)
>> > at
>> >
>> >
>> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl$7.run(ProcessAndInstanceManagementImpl.java:403)
>> > at
>> >
>> >
>> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl$7.run(ProcessAndInstanceManagementImpl.java:401)
>> > at
>> > org.apache.ode.bpel.engine.BpelDatabase$1.call(BpelDatabase.java:76)
>> > at
>> >
>> >
>> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:284)
>> > at
>> >
>> >
>> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239)
>> > at
>> > org.apache.ode.bpel.engine.BpelDatabase.exec(BpelDatabase.java:74)
>> > at
>> >
>> >
>> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getInstanceInfo(ProcessAndInstanceManagementImpl.java:401)
>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > at
>> >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> > at
>> >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> > at java.lang.reflect.Method.invoke(Method.java:597)
>> > at
>> org.apache.ode.il.DynamicService.invoke(DynamicService.java:71)
>> > at
>> >
>> >
>> org.apache.ode.axis2.service.ManagementService$DynamicMessageReceiver.invokeBusinessLogic(ManagementService.java:126)
>> > at
>> >
>> >
>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
>> > at
>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
>> > at
>> >
>> >
>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>> > at
>> > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
>> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> > at
>> >
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> > at
>> >
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> >
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> > at
>> >
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>> > at
>> >
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>> > at
>> >
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>> > at
>> >
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> > at
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>> > at
>> >
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
>> > at
>> >
>> >
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
>> > at
>> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>> > at java.lang.Thread.run(Thread.java:662)
>> >
>>
>>
>>
>
>
<?xml version="1.0" encoding="UTF-8"?>
<process
name="ParallelProcess"
targetNamespace="http://www.abc.com/EPM/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.abc.com/EPM/BPEL/ParallelProcess"
xmlns:pwsdl="http://www.abc.com/EPM/WSDL/ParallelProcess"
xmlns:pxsd="http://www.abc.com/EPM/Schema/ParallelProcess"
xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
>
<import namespace="http://www.abc.com/EPM/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>