Hello,
With ODE 1.3.3, it seems that multiple consecutive invocations to a same
component service will incur the following exception:
ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex
{PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID
{http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling
null.operation1(...)}
org.apache.axis2.AxisFault: Two services cannot have same name. A service with
the
axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r
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.GeneratedMethodAccessor58.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
But the same actions doesn't incur any exception in with 1.3.2 or 2.0. So I
think this maybe is a bug, isn't it?
And I noted that a similar problem has been discussed in 2007(
https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874
).
The attached is almost all the needed to replay the exception - the process, 2
component services(running in Axis2), and the SOAP request message of the
process. There is another coponent service which is omitted for space reason.
But in most cases, the previous exception will occur before it is invoked.
Best Regards,
Wenfeng
= = = = = = = = = = = = = = = = = = = =
ZHAO Wenfeng (赵文峰)
Ph.D. Candidate
http://www.bupt.edu.cn