You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Ciaran <ci...@gmail.com> on 2009/08/18 09:37:57 UTC

Fwd: Subversion update has killed my workflows :(

Hi,
Just got back off holiday, it seems nobody has been able to answer my
question on the dev mailing list, am desperately hoping someone could shed
some light on my issue ?   I'm loath to raise a JIRA in case its meaningless
but I'm quite surprised this isn't broken for other people ?
-cj.


---------- Forwarded message ----------
From: Ciaran <ci...@gmail.com>
Date: Wed, Jul 29, 2009 at 3:07 PM
Subject: Subversion update has killed my workflows :(
To: dev@ode.apache.org
Cc: matthieu.riou@gmail.com


Hi Guys,
I just recently updated our SVN working copy of the ODE 1_X branch.  It
seems that changeset 790694 (
http://svn.apache.org/viewvc?view=rev&revision=790694)  has broken our
worklfows.
Effectively we now see (at random, as this is I believe an introduced race)
:
ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex
{PartnerRoleMex#4611686018427388056 [PID {ns}BPELFLOW-3] calling
null.ProcessProxyInvocation(...)}
org.apache.axis2.AxisFault: Two services cannot have same name.  A service
with the
axis_service_for_{ns2}BrokerageService#BrokerageServiceSoap_hqejbhcnphr4gxu8n8adm4
name already exists in the system.
        at
org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
        at
org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
        at
org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
        at
org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
        at
org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
        at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
        at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
        at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)

The reason for this is [I believe], because we now have a new path from the
axis2 ServiceClient constructor that checks to see if the underlying axis
config contains multiple references to the same service, initially I though
this might be a cleanup issue, however I think it may be a little more
fundamental :(

In my system I have a central brokerage object through which all web service
calls are made (including calls to ODE and calls to other ODE processes from
within the BPEL and calls to other web methods within the process.) ..
Effectively this means I have only *ONE* service that is ever invoked, and
it is always the same one, with the same name (but sometimes with differeng
addresses)

So I believe I have a case where ( synchronously)  I have something like

  BPEL 1 -> Brokerage Object Service ->  BPEL 2 -> ... tries to create a
SoapExternalService to contact the Brokerage Object Service

Which fails, as the SoapExternalService instance was created previously for
the call to the BPEL 2 process.  Whilst this may not be the best
architectural practice I think its a valid use-case, and the above change
has broken it :( If I revert the change everything works again :) ...
however the comment suggests  a memoy leak will ensure ... however at least
I can use my flows again! :)

Any ideas ?  I could of course be barking up completely the wrong tree!!!
-cj.