Hi, this seems to be a bug, perhaps related to an OSGi dependency issue. Could you please file a JIRA? Please also add the exact version number of servicemix. If possible it would also help if you could attach your process bundle as well. The JBI/OSGi/ServiceMix deployable is currently not exactly up-to-date unfortunately.
Thanks, Tammo On Wed, Mar 7, 2012 at 14:47, lucide <[email protected]> wrote: > > Hi, > I am in desperate need for any help about understanding fault handing in > apache ode. Whenever an invoke receives an soap-fault, I expect a catchAll > inside invoke tag should catch it, right? > > I have been playing with bpel and catchAll's for some time, and able to use > them for failures, and for time-out / connection like problems during > invoke. Also, catchAll is able to catch errors when exceptions are thrown > after invoking another jbi bundle. > > But below log shows, a soap fault causes a JacobVpu null parent error. Do I > explicitly need to add a catch with a fault-type? > > > > > [org.apache.servicemix.nmr.core.ChannelImpl.dispatch(ChannelImpl.java:274)] > 2012-03-06 18:20:26,176 | DEBUG | rovider-thread-7 | NMR > | 83 - org.apache.servicemix.nmr.core - 1.4.0 | Channel > org.apache.servicemix.nmr.core.ChannelImpl@7bb3be4f delivering exchange: [ > id: 3b24f908-dff6-40d4-9aa1-4b1afc4d87b2 > mep: InOut > status: Active > role: Provider > target: PropertyMatchingReference[{ENDPOINT_NAME=WsPort, > SERVICE_NAME={http://service}WsService}] > operation: {http://service}operation > properties: [ > javax.jbi.servicedesc.ServiceEndpoint = > org.apache.servicemix.jbi.runtime.impl.EndpointImpl@1dfe626f > javax.jbi.messaging.MessageExchange = > org.apache.servicemix.jbi.runtime.impl.InOutImpl@355ae139 > javax.jbi.messaging.sendSync = <null> > javax.jbi.transaction.jta = <null> > javax.jbi.ServiceEndpoint = > org.apache.servicemix.jbi.runtime.impl.ServiceEndpointImpl@713d7dc3 > javax.jbi.ServiceName = {http://service}WsService > ] > ] > [org.apache.servicemix.nmr.core.ChannelImpl.deliver(ChannelImpl.java:198)] > 2012-03-06 18:20:26,183 | DEBUG | pool-10-thread-8 | SimpleScheduler > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Beginning a new transaction > [org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:275)] > 2012-03-06 18:20:26,184 | DEBUG | pool-10-thread-8 | MessageExchangeImpl > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | GET MEX property > org.apache.ode.jbi.msgmap.Mapper = > org.apache.ode.jbi.msgmap.ServiceMixMapper > [org.apache.ode.bpel.engine.MessageExchangeImpl.getProperty(MessageExchangeImpl.java:218)] > 2012-03-06 18:20:26,184 | DEBUG | pool-10-thread-8 | ServiceMixMapper > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | toODE() normalized message: > <?xml version="1.0" encoding="UTF-8"?> > <soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <faultcode>soap:Server</faultcode> > <faultstring>Fault occurred while processing.</faultstring> > </soap:Fault> > > [org.apache.ode.jbi.msgmap.ServiceMixMapper.toODE(ServiceMixMapper.java:215)] > 2012-03-06 18:20:26,184 | DEBUG | pool-10-thread-8 | ServiceMixMapper > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | toODE() rpc-like message > [org.apache.ode.jbi.msgmap.ServiceMixMapper.toODE(ServiceMixMapper.java:243)] > 2012-03-06 18:20:26,184 | DEBUG | pool-10-thread-8 | ServiceMixMapper > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | toODE() ode message: > <?xml version="1.0" encoding="UTF-8"?> > <soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <faultcode>soap:Server</faultcode> > <faultstring>Fault occurred while processing.</faultstring> > </soap:Fault> > > [org.apache.ode.jbi.msgmap.ServiceMixMapper.toODE(ServiceMixMapper.java:246)] > 2012-03-06 18:20:26,185 | DEBUG | pool-10-thread-8 | > PartnerRoleMessageExchangeImpl | 212 - org.apache.ode.ode-jbi-bundle - > 1.3.5 | reply mex=4611686018427387910 > [org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.reply(PartnerRoleMessageExchangeImpl.java:84)] > 2012-03-06 18:20:26,185 | DEBUG | pool-10-thread-8 | > PartnerRoleMessageExchangeImpl | 212 - org.apache.ode.ode-jbi-bundle - > 1.3.5 | create work event for mex=4611686018427387910 > [org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsync(PartnerRoleMessageExchangeImpl.java:134)] > 2012-03-06 18:20:26,185 | DEBUG | pool-10-thread-8 | SimpleScheduler > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Commiting on > org.apache.aries.transaction.GeronimoPlatformTransactionManager@2b3765c8... > [org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:289)] > 2012-03-06 18:20:26,185 | DEBUG | pool-9-thread-14 | SimpleScheduler > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Beginning a new transaction > [org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:275)] > 2012-03-06 18:20:26,185 | DEBUG | pool-9-thread-14 | InstanceLockManager > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | > Thread[pool-9-thread-14,5,spring-osgi-extender[14d6c410]-threads]: > lock(iid=3, time=1MICROSECONDS) > [org.apache.ode.bpel.engine.InstanceLockManager.lock(InstanceLockManager.java:50)] > 2012-03-06 18:20:26,186 | DEBUG | pool-9-thread-14 | InstanceLockManager > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | > Thread[pool-9-thread-14,5,spring-osgi-extender[14d6c410]-threads]: > lock(iid=3, time=1MICROSECONDS)-->GRANTED > [org.apache.ode.bpel.engine.InstanceLockManager.lock(InstanceLockManager.java:63)] > 2012-03-06 18:20:26,186 | DEBUG | pool-9-thread-14 | BpelProcess > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | >> > handleJobDetails(jobData=JobDetails( instanceId: 3 mexId: > 4611686018427387910 processId: null type: INVOKE_RESPONSE channel: 33 > correlatorId: null correlationKeySet: null retryCount: null inMem: true > detailsExt: {})) > [org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:415)] > 2012-03-06 18:20:26,186 | DEBUG | pool-9-thread-14 | BpelRuntimeContextImpl > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | BpelRuntimeContextImpl > created for instance 3. INDEXED STATE={} > [org.apache.ode.bpel.engine.BpelRuntimeContextImpl.<init>(BpelRuntimeContextImpl.java:185)] > 2012-03-06 18:20:26,186 | DEBUG | pool-9-thread-14 | BpelProcess > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | InvokeResponse event for iid > 3 > [org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:453)] > 2012-03-06 18:20:26,186 | DEBUG | pool-9-thread-14 | BpelRuntimeContextImpl > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Invoking message response > for mexid 4611686018427387910 and channel 33 > [org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invocationResponse(BpelRuntimeContextImpl.java:1088)] > 2012-03-06 18:20:26,186 | DEBUG | pool-9-thread-14 | JacobVPU > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | injecting (...) > [org.apache.ode.jacob.vpu.JacobVPU.inject(JacobVPU.java:215)] > 2012-03-06 18:20:26,187 | DEBUG | pool-9-thread-14 | BpelRuntimeContextImpl > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Triggering response > [org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invocationResponse2(BpelRuntimeContextImpl.java:1107)] > 2012-03-06 18:20:26,190 | DEBUG | pool-9-thread-14 | ScopeFrame > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Initialize variable: > name={Variable > __PROCESS_SCOPE:WsServiceFlow.airQueryResponse:OMessageVarType#22({http://service}operationResponse)} > value=<?xml version="1.0" encoding="UTF-8"?> > <soap:Fault > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>soap:Server</faultcode><faultstring>Fault > occurred while processing.</faultstring></soap:Fault> > [org.apache.ode.bpel.runtime.ScopeFrame.initializeVariable(ScopeFrame.java:236)] > 2012-03-06 18:20:26,191 | DEBUG | pool-9-thread-14 | BpelDAOConnectionImpl > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Removing mex > 4611686018427387910 from memory store. > [org.apache.ode.bpel.memdao.BpelDAOConnectionImpl.removeMessageExchange(BpelDAOConnectionImpl.java:344)] > 2012-03-06 18:20:26,198 | DEBUG | pool-9-thread-14 | > JaxenNamespaceContextAdapter | 212 - org.apache.ode.ode-jbi-bundle - > 1.3.5 | translateNamespacePrefixToUri()=null > [org.apache.ode.bpel.elang.xpath10.runtime.JaxenNamespaceContextAdapter.translateNamespacePrefixToUri(JaxenNamespaceContextAdapter.java:42)] > 2012-03-06 18:20:26,199 | ERROR | pool-9-thread-14 | JacobVPU > | 212 - org.apache.ode.ode-jbi-bundle - 1.3.5 | Method "run" in class > "org.apache.ode.bpel.runtime.SWITCH" threw an unexpected exception. > [org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:463)] > java.lang.IllegalArgumentException: null parent > at > org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:768)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:763)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.runtime.ScopeFrame.getPartData(ScopeFrame.java:276)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.runtime.ScopeFrame.fetchVariableData(ScopeFrame.java:214)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.readVariable(ExprEvaluationContextImpl.java:96)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.elang.xpath10.runtime.JaxenContexts.getVariableValue(JaxenContexts.java:173)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.jaxen.ContextSupport.getVariableValue(ContextSupport.java:215)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.Context.getVariableValue(Context.java:196)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.expr.DefaultVariableReferenceExpr.evaluate(DefaultVariableReferenceExpr.java:103)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.expr.DefaultPathExpr.evaluate(DefaultPathExpr.java:137)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.expr.DefaultEqualityExpr.evaluate(DefaultEqualityExpr.java:75)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:674)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.jaxen.BaseXPath.booleanValueOf(BaseXPath.java:310)[210:wrap_mvn_jaxen_jaxen_1.1.1:0] > at > org.apache.ode.bpel.elang.xpath10.runtime.XPath10ExpressionRuntime.evaluateAsBoolean(XPath10ExpressionRuntime.java:82)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluateAsBoolean(ExpressionLanguageRuntimeRegistry.java:72)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.runtime.SWITCH.run(SWITCH.java:54)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_27] > at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_27] > at > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:968)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:456)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:460)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:518)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:512)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:284)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:512)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:496)[212:org.apache.ode.ode-jbi-bundle:1.3.5] > at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27] > at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27] > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_27] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_27] > at java.lang.Thread.run(Thread.java:662)[:1.6.0_27] > > -- > View this message in context: > http://old.nabble.com/Fault-handling-tp33458106p33458106.html > Sent from the Apache Ode User mailing list archive at Nabble.com. > -- Tammo van Lessen - http://www.taval.de
