Hi All,
Renat : right, you understand my problem !
Tammo,
I'm currently working on a project with an ESB (ServiceMix) and with several
externals actors.
All of these actors can send a message to the esb in order to call a BPEL
process.
But the list of the BPEL processes is not fixed, it can grow up with the
time.
So i'm looking for a dynamic solution with one entry for multiple BPEL
processes based one the same wsdl.
Imagine that you want to centralize a workflow management and each state
process is a BPEL process. All changes done on externals actors will send a
message with the processed state in it and that define the operation to call
(and so the BPEL process to call).
Perhaps, i'm not well thinking and want to use BPEL in a case that's not for
BPEL. But i still thinking that something is missing somewhere.
I was using ODE in jbi (1.3.3) in Servicemix, i have tried with ode war
(work better but still not work)
In this case i have one wsdl for three BPEL process(BPELTEST1, BPELTEST2,
BPELTEST3) (one for each wsdl operation TEST1, TEST2, TEST3). Here is the
log, we are not so far ;) (the Routed operation has to return only the BPEL
process that use the operation in the first receive task)
2010-03-30 18:46:09,808 - DEBUG - GeronimoLog.debug(66) | Checking for
Operation using SOAP message body's first child's local name : TEST1
2010-03-30 18:46:09,808 - DEBUG - GeronimoLog.debug(66) | Found operation
org.apache.axis2.description.inoutaxisoperat...@753b62
2010-03-30 18:46:09,823 - DEBUG - GeronimoLog.debug(66) | Received request
message for
ChangeDocumentState.{http://www.xxxxx.com/ServiceBus/Wkf/wsdl}TEST1
2010-03-30 18:46:09,823 - DEBUG - GeronimoLog.debug(66) | Starting
transaction.
2010-03-30 18:46:09,823 - DEBUG - GeronimoLog.debug(66) | Routed: svcQname
{http://www.xxxxx.com/ServiceBus/Wkf/wsdl}WkfChangeStateService -->
[BpelProcess[{http://www.xxxxx.com/ServiceBus/Wkf}WkfBPELTEST1-28],
BpelProcess[{http://www.xxxxx.com/ServiceBus/Wkf}WkfBPELTEST2-28],
BpelProcess[{http://www.xxxxx.com/ServiceBus/Wkf}WkfBPELTEST3-28]]
2010-03-30 18:46:09,823 - DEBUG - GeronimoLog.debug(66) | ODE routed to
operation null from service
{http://www.xxxxx.com/ServiceBus/Wkf/wsdl}WkfChangeStateService
2010-03-30 18:46:09,823 - DEBUG - GeronimoLog.debug(66) | SET MEX property
isTwoWay = true
2010-03-30 18:46:09,823 - DEBUG - GeronimoLog.debug(66) | Releasing mex
hqejbhcnphr55pw24utjuv
2010-03-30 18:46:09,839 - ERROR - GeronimoLog.error(108) |
java.lang.NullPointerException
at
org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:160)
at
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:67)
at
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:50)
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:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Tammo van Lessen wrote:
>
> Renat,
>
> I don't quite get the use case. A BPEL process renders one or multiple
> WSDL service and these WSDL service are accessible via one or more
> endpoint. Why would you need one endpoint for several process models?
> Why not implementing the whole behavior expected from this endpoint in
> one BPEL process?
>
> Otherwise, indeed a content-based router can help to split the calls to
> an endpoint up and reroute them to two different endpoints.
>
> Best,
> Tammo
>
>
> Renat Zubairov wrote:
>> Yes, that would be good to have a possibility to register one process
>> to FOO#bar1 and another process to FOO#bar2
>>
>> As a clear advantage of ODE/BPEL approach I see a possibility to
>> encapsulate implementation. One service could be implemented in Java,
>> another one in BPEL and run by ODE, however if in ODE we can only
>> implements services with only one operation that breaks the picture.
>>
>>
>> On 30.03.10 22:24, "Vishal Saxena" <[email protected]> wrote:
>>
>> So you want two initiating receives bar1 and bar2 or bar2 is really
>> just a message that can be received later? Vishal
>>
>>
>> On Tue, Mar 30, 2010 at 1:06 PM, Renat Zubairov
>> <[email protected]>wrote:
>>
>>> No it's actually not a content-based routing.
>>>
>>> Imagine following simple situation you have a service FOO with two
>>> operations "bar1" and "bar2" so basically service FOO has an
>>> endpoint which is for example
>>> http://localhost:8080/ode/processes/FOO how can I deploy two
>>> processes, one for "bar1" and second one for "bar2"
>>>
>>> As I understood that's the problem Raidwan mentioned. We also seen
>>> the similar issues when process that implements FOO#bar1 was trying
>>> to call FOO#bar2 which essentially sending message to nowhere,
>>> since we haven't found a way to let ODE implement two operations
>>> for service FOO as two separate processes.
>>>
>>> Renat
>>>
>>>
>>> On 30.03.10 19:33, "Brian Lund" <[email protected]> wrote:
>>>
>>> It sounds like what you want is content based routing (or maybe
>>> just some load balancing/fail over?). In a typical SOA, the ESB or
>>> a front-end preceding the BPM would handle that. Do you not have
>>> the capability to route messages through a service bus?
>>>
>>> If I missed the mark, what's your scenario that you want processes
>>> to share an endpoint?
>>>
>>> On 3/30/10 5:01 AM, "Renat Zubairov" <[email protected]>
>>> wrote:
>>>
>>>> Hi
>>>>
>>>> We had related issues with Process2Process communication. AFAIK
>>>> there is
>>> no
>>>> way for ODE to associate endpoint to multiple processes (here I'm
>>>>
>>> referring to
>>>> ODE 1.3.X). I also see this as a severe limitation that affects
>>>> usability
>>> of
>>>> the ODE as a BPM runtime in heterogeneous SOA infrastructure.
>>>>
>>>> Best regards, Renat Zubairov
>>>>
>>>> On 30.03.10 11:47, "Raidwan" <[email protected]> wrote:
>>>>
>>>>
>>>>
>>>> Hi all,
>>>>
>>>> Anyone now a solution to get one Wsdl and one endpoint from
>>>> multiple BPEL processes ?
>>>>
>>>> i've got the error : javax.jbi.JBIException: An internal endpoint
>>>> for service xxxxxx and
>>> endpoint
>>>> xxxxxxPort is already registered
>>>>
>>>> I have tried this : => one wsdl with multiple operations => one
>>>> BPEL process by operation
>>>>
>>>> Example : Wsdl with operation opeA, opeB, opeC and one End Point
>>>> for this wsdl My deploy.xml is like this: <process name="procA">
>>>> <active>true</active> <provide partnerLink="myWsdlPartnerLink">
>>>> <service name="myWsdlService" port="myWsdlPort"/> </provide>
>>>> </process> <process name="procB"> <active>true</active> <provide
>>>> partnerLink="myWsdlPartnerLink"> <service name="myWsdlService"
>>>> port="myWsdlPort"/> </provide> </process>
>>>>
>>>> Thanks for help. -- View this message in context:
>>>>
>>> http://old.nabble.com/One-Wsdl-and-one-endpoint-from-multiple-BPEL-processes-t
>>>
>>>> p28080175p28080175.html Sent from the Apache Ode User mailing
>>>> list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>>
>> -- Vishal Saxena Vice President Engineering Intalio Inc
>> http://vishals.blogspot.com
>>
>>
>
>
> --
> Tammo van Lessen - http://www.taval.de
>
>
--
View this message in context:
http://old.nabble.com/One-Wsdl-and-one-endpoint-for-multiple-BPEL-processes-tp28080175p28091995.html
Sent from the Apache Ode User mailing list archive at Nabble.com.