Hi Sam, this can be done with BPEL's owns means. Roughly, you start with a receive activity that receives a message that contains the user id. For this message you define a correlation property and propertyAlias that can extract the user id from the message. With this property you initialize a correlation set on this very first receive activity. (See [1], [2], [3]). Then you can nest all following activities in a scope and attach an event handler on the scope, that uses the same correlation set and listens for step2-messages. When ODE creates a process instance for this process, it will associate the user ID with the process instance. When the second messages arrives with the same user id, it will route the message to this instance and the event handler will be called and can update the status. So if I understood the problem correctly, then there is no need for custom axis2 services.
HTH, Tammo [1] https://github.com/apache/ode/blob/master/bpel-test/src/test/resources/bpel/2.0/TestCorrelation/testCorrelation.bpel#L50 [2] https://github.com/apache/ode/blob/master/bpel-test/src/test/resources/bpel/2.0/TestCorrelation/testCorrelation.bpel#L55 [3] https://github.com/apache/ode/blob/master/bpel-test/src/test/resources/bpel/2.0/TestCorrelation/testCorrelation.wsdl#L89 On Wed, Sep 30, 2015 at 9:38 PM, Samuel Rose <[email protected]> wrote: > Hi all, > > I have a process where I need to call ODE through a SOAP web service > interface, start an instance of a process, and give ODE a value that > it can look up later. > > So, for example I can design a very simple process: > > start -> step 1 (give ODE a user_id to associate with this instance of > the process) -> step 2 (give ODE a user_id again to lookup and update > the process to step 2) -> end > > My question is: > > Would it be necessary for me to write custom axis2 services for this > need, and add tables into ODE's mysql database? > > Or, is it the case that I can accomplish this kind of task all within > the BPEL tools that are provided by Apache ODE, without the need to > write custom Java code for axis2 services? > > My impression is that I can just use the tools BPEL provides, and the > error handling etc already built into ODE, and that it is redundant to > create custom axis2 services. > > Your thoughts and recommendations appreciated! > > Sam > -- Tammo van Lessen - http://www.taval.de
