Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.3.2
-
None
-
ServiceMix 3.3
Description
I tried to run ExtVar test case in ServiceMix. I got error:
21:21:42,756 | ERROR | Timer-3 | ExternalVariableManager | extvar.ExternalVariableManager 79 | External variable engine "
{http://ode.apache.org/externalVariables/jdbc}jdbc" referenced by external variable "costPerCustomer" not registered.
21:21:42,757 | ERROR | Timer-3 | ExternalVariableManager | extvar.ExternalVariableManager 109 | The "__PROCESS_SCOPE:ExtVar2" scope declared an unknown external variable "costPerCustomer"; check the deployment descriptor.
21:21:42,757 | ERROR | Timer-3 | ExternalVariableManager | extvar.ExternalVariableManager 120 | Error initializing external variables. See log for details.
21:21:42,758 | ERROR | Timer-3 | NStateLatch | he.ode.bpel.engine.NStateLatch 110 | Latch error, was releasing for state 1 but actually in -1
21:21:42,758 | ERROR | Timer-3 | OdeServiceUnit | .apache.ode.jbi.OdeServiceUnit 108 | Unable to load
ExtVar2-1
org.apache.ode.bpel.iapi.BpelEngineException: Error initializing external variables. See log for details.
at org.apache.ode.bpel.engine.extvar.ExternalVariableManager.<init>(ExternalVariableManager.java:121)
at org.apache.ode.bpel.engine.BpelProcess.initExternalVariables(BpelProcess.java:146)
at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProcess.java:828)
at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelProcess.java:786)
at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.java:796)
at org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)
at org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:661)
at org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:285)
at org.apache.ode.jbi.OdeServiceUnit.start(OdeServiceUnit.java:104)
at org.apache.ode.jbi.OdeSUManager.start(OdeSUManager.java:115)
at org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:103)
at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:132)
at org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:378)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:355)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
21:21:42,769 | ERROR | Timer-3 | OdeSUManager | rg.apache.ode.jbi.OdeSUManager 118 | Error starting service unit "hello-ode-su".
org.apache.ode.bpel.iapi.BpelEngineException: Error initializing external variables. See log for details.
at org.apache.ode.bpel.engine.extvar.ExternalVariableManager.<init>(ExternalVariableManager.java:121)
at org.apache.ode.bpel.engine.BpelProcess.initExternalVariables(BpelProcess.java:146)
at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProcess.java:828)
at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelProcess.java:786)
at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.java:796)
at org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)
at org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:661)
at org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:285)
at org.apache.ode.jbi.OdeServiceUnit.start(OdeServiceUnit.java:104)
at org.apache.ode.jbi.OdeSUManager.start(OdeSUManager.java:115)
at org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:103)
at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:132)
at org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:378)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:355)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
21:21:42,776 | WARN | Timer-3 | ServiceAssemblyLifeCycle | ework.ServiceAssemblyLifeCycle 407 | Could not parse result exception
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.parse(ServiceAssemblyLifeCycle.java:423)
at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.getComponentFailure(ServiceAssemblyLifeCycle.java:404)
at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:134)
at org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:378)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:355)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
21:21:42,782 | INFO | Timer-3 | DeploymentService | bi.framework.DeploymentService 380 | Error in start
I figured out that JdbcExternalVariableModule was not added on init.
I did a patch for ode1x branch, which resolved this problem.
I'm also attaching example Service Assembly..