Petals SE BPEL

"Send error: <mep>" message is not clear at all, log the exception too

Details

  • Type: Bug Bug
  • Status: New New
  • Resolution: Unresolved
  • Affects Version/s: 1.0.6
  • Fix Version/s: None
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    A BPEL process was created, with a complex assignation inside.
    The invocation of the process was not working correctly. The Petals console was displaying...

    [Petals.Container.Components.petals-se-bpel]-WARNING 2011-08-26 09:54:20,117 Send error: http://www.w3.org/2004/08/wsdl/in-only

    The log level was set to DEBUG, but there was no additional information about this error.
    Eventually, I had to modify the component to see what was the real error.

    In the class JbiSenderImpl, in the method sendTo(CoreException e, ExternalContext context) throws CoreException, the exception should be logged with the FINEST level. Such an error is very helpful.


    In the case of the used BPEL, the exception was:

    com.ebmwebsourcing.easyviper.core.api.CoreException
    at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affect(BPELAssigner.java:126)
    at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.AssignBehaviourImpl.affect(AssignBehaviourImpl.java:97)
    at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.AssignBehaviourImpl.executeOnInactive(AssignBehaviourImpl.java:128)
    at com.ebmwebsourcing.easyviper.core.api.engine.behaviour.AbstractBehaviourImpl.execute(AbstractBehaviourImpl.java:167)
    at org.objectweb.fractal.julia.generated.C1efc3245_0.execute(INTERCEPTOR[AssignBehaviour])
    at org.objectweb.fractal.julia.generated.C49c8cf10_0.execute(INTERFACE[AssignBehaviour])
    at com.ebmwebsourcing.easyviper.core.impl.engine.NodeImpl.execute(NodeImpl.java:219)
    at org.objectweb.fractal.julia.generated.C6ac8a5f_0.execute(INTERCEPTOR[Node])
    at org.objectweb.fractal.julia.generated.C678ba6a_0.execute(INTERFACE[Node])
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.execute(ExecutionImpl.java:509)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.nextSequentially(ExecutionImpl.java:452)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.step(ExecutionImpl.java:404)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.run(ExecutionImpl.java:189)
    at org.objectweb.fractal.julia.generated.Cb57c20ad_0.run(INTERCEPTOR[Execution])
    at org.objectweb.fractal.julia.generated.C53c8ca78_0.run(INTERFACE[Execution])
    at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.ScopeBehaviourImpl.executeOnInactive(ScopeBehaviourImpl.java:118)
    at com.ebmwebsourcing.easyviper.core.api.engine.behaviour.AbstractBehaviourImpl.execute(AbstractBehaviourImpl.java:167)
    at org.objectweb.fractal.julia.generated.C718d2b94_0.execute(INTERCEPTOR[ScopeBehaviour])
    at org.objectweb.fractal.julia.generated.C8be80a3f_0.execute(INTERFACE[ScopeBehaviour])
    at com.ebmwebsourcing.easyviper.core.impl.engine.NodeImpl.execute(NodeImpl.java:219)
    at org.objectweb.fractal.julia.generated.C678ba6a_0.execute(INTERFACE[Node])
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.execute(ExecutionImpl.java:509)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.nextSequentially(ExecutionImpl.java:452)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.step(ExecutionImpl.java:404)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.run(ExecutionImpl.java:189)
    at org.objectweb.fractal.julia.generated.Cb57c20ad_0.run(INTERCEPTOR[Execution])
    at org.objectweb.fractal.julia.generated.C53c8ca78_0.run(INTERFACE[Execution])
    at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.ScopeBehaviourImpl.executeOnInactive(ScopeBehaviourImpl.java:118)
    at com.ebmwebsourcing.easyviper.core.api.engine.behaviour.AbstractBehaviourImpl.execute(AbstractBehaviourImpl.java:167)
    at org.objectweb.fractal.julia.generated.C718d2b94_0.execute(INTERCEPTOR[ScopeBehaviour])
    at org.objectweb.fractal.julia.generated.C8be80a3f_0.execute(INTERFACE[ScopeBehaviour])
    at com.ebmwebsourcing.easyviper.core.impl.engine.NodeImpl.execute(NodeImpl.java:219)
    at org.objectweb.fractal.julia.generated.C678ba6a_0.execute(INTERFACE[Node])
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.execute(ExecutionImpl.java:509)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.nextSequentially(ExecutionImpl.java:452)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.step(ExecutionImpl.java:404)
    at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.run(ExecutionImpl.java:189)
    at org.objectweb.fractal.julia.generated.Cb57c20ad_0.run(INTERCEPTOR[Execution])
    at org.objectweb.fractal.julia.generated.C53c8ca78_0.run(INTERFACE[Execution])
    at com.ebmwebsourcing.easyviper.core.impl.engine.EngineImpl$ThreadRunProcess.run(EngineImpl.java:578)
    Caused by: com.ebmwebsourcing.easybpel.model.bpel.api.BPELException: Impossible to realize the following assignment:

    $MiseAJourDemandeServicePartnerRequest.parameters/demandes[$counter]/idEssai
    =

    $SqlInterfacePartnerResponse.result/row[$counter]/column[1]

    at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affectVariable(BPELAssigner.java:494)
    at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affect(BPELAssigner.java:123)
    ... 39 more
    Caused by: com.ebmwebsourcing.easybpel.model.bpel.impl.exception.SelectionFailureException: Impossible to find element corresponding to $MiseAJourDemandeServicePartnerRequest.param
    eters/demandes[$counter]/idEssai
    at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affectVariable(BPELAssigner.java:368)
    ... 40 more
    [Petals.Container.Components.petals-se-bpel]-FINE 2011-08-26 11:07:18,170 No persisted notification to process. Stop persisted notification processor.

    Show
    A BPEL process was created, with a complex assignation inside. The invocation of the process was not working correctly. The Petals console was displaying...
    [Petals.Container.Components.petals-se-bpel]-WARNING 2011-08-26 09:54:20,117 Send error: http://www.w3.org/2004/08/wsdl/in-only
    The log level was set to DEBUG, but there was no additional information about this error. Eventually, I had to modify the component to see what was the real error. In the class JbiSenderImpl, in the method sendTo(CoreException e, ExternalContext context) throws CoreException, the exception should be logged with the FINEST level. Such an error is very helpful.
    In the case of the used BPEL, the exception was:
    com.ebmwebsourcing.easyviper.core.api.CoreException at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affect(BPELAssigner.java:126) at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.AssignBehaviourImpl.affect(AssignBehaviourImpl.java:97) at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.AssignBehaviourImpl.executeOnInactive(AssignBehaviourImpl.java:128) at com.ebmwebsourcing.easyviper.core.api.engine.behaviour.AbstractBehaviourImpl.execute(AbstractBehaviourImpl.java:167) at org.objectweb.fractal.julia.generated.C1efc3245_0.execute(INTERCEPTOR[AssignBehaviour]) at org.objectweb.fractal.julia.generated.C49c8cf10_0.execute(INTERFACE[AssignBehaviour]) at com.ebmwebsourcing.easyviper.core.impl.engine.NodeImpl.execute(NodeImpl.java:219) at org.objectweb.fractal.julia.generated.C6ac8a5f_0.execute(INTERCEPTOR[Node]) at org.objectweb.fractal.julia.generated.C678ba6a_0.execute(INTERFACE[Node]) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.execute(ExecutionImpl.java:509) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.nextSequentially(ExecutionImpl.java:452) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.step(ExecutionImpl.java:404) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.run(ExecutionImpl.java:189) at org.objectweb.fractal.julia.generated.Cb57c20ad_0.run(INTERCEPTOR[Execution]) at org.objectweb.fractal.julia.generated.C53c8ca78_0.run(INTERFACE[Execution]) at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.ScopeBehaviourImpl.executeOnInactive(ScopeBehaviourImpl.java:118) at com.ebmwebsourcing.easyviper.core.api.engine.behaviour.AbstractBehaviourImpl.execute(AbstractBehaviourImpl.java:167) at org.objectweb.fractal.julia.generated.C718d2b94_0.execute(INTERCEPTOR[ScopeBehaviour]) at org.objectweb.fractal.julia.generated.C8be80a3f_0.execute(INTERFACE[ScopeBehaviour]) at com.ebmwebsourcing.easyviper.core.impl.engine.NodeImpl.execute(NodeImpl.java:219) at org.objectweb.fractal.julia.generated.C678ba6a_0.execute(INTERFACE[Node]) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.execute(ExecutionImpl.java:509) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.nextSequentially(ExecutionImpl.java:452) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.step(ExecutionImpl.java:404) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.run(ExecutionImpl.java:189) at org.objectweb.fractal.julia.generated.Cb57c20ad_0.run(INTERCEPTOR[Execution]) at org.objectweb.fractal.julia.generated.C53c8ca78_0.run(INTERFACE[Execution]) at com.ebmwebsourcing.easyviper.core.impl.engine.behaviour.functionnal.ScopeBehaviourImpl.executeOnInactive(ScopeBehaviourImpl.java:118) at com.ebmwebsourcing.easyviper.core.api.engine.behaviour.AbstractBehaviourImpl.execute(AbstractBehaviourImpl.java:167) at org.objectweb.fractal.julia.generated.C718d2b94_0.execute(INTERCEPTOR[ScopeBehaviour]) at org.objectweb.fractal.julia.generated.C8be80a3f_0.execute(INTERFACE[ScopeBehaviour]) at com.ebmwebsourcing.easyviper.core.impl.engine.NodeImpl.execute(NodeImpl.java:219) at org.objectweb.fractal.julia.generated.C678ba6a_0.execute(INTERFACE[Node]) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.execute(ExecutionImpl.java:509) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.nextSequentially(ExecutionImpl.java:452) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.step(ExecutionImpl.java:404) at com.ebmwebsourcing.easyviper.core.impl.engine.ExecutionImpl.run(ExecutionImpl.java:189) at org.objectweb.fractal.julia.generated.Cb57c20ad_0.run(INTERCEPTOR[Execution]) at org.objectweb.fractal.julia.generated.C53c8ca78_0.run(INTERFACE[Execution]) at com.ebmwebsourcing.easyviper.core.impl.engine.EngineImpl$ThreadRunProcess.run(EngineImpl.java:578) Caused by: com.ebmwebsourcing.easybpel.model.bpel.api.BPELException: Impossible to realize the following assignment: $MiseAJourDemandeServicePartnerRequest.parameters/demandes[$counter]/idEssai = $SqlInterfacePartnerResponse.result/row[$counter]/column[1] at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affectVariable(BPELAssigner.java:494) at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affect(BPELAssigner.java:123) ... 39 more Caused by: com.ebmwebsourcing.easybpel.model.bpel.impl.exception.SelectionFailureException: Impossible to find element corresponding to $MiseAJourDemandeServicePartnerRequest.param eters/demandes[$counter]/idEssai at com.ebmwebsourcing.easybpel.model.bpel.impl.runtime.BPELAssigner.affectVariable(BPELAssigner.java:368) ... 40 more [Petals.Container.Components.petals-se-bpel]-FINE 2011-08-26 11:07:18,170 No persisted notification to process. Stop persisted notification processor.
  • Environment:
    Windows 7, Ubuntu, JDK 6

Activity

Hide
Vincent Zurczak added a comment - Fri, 26 Aug 2011 - 11:22:48 +0200

BTW, I forgot to mention that the BPEL was invoked with the InOnly MEP.
So, no returned message.

Show
Vincent Zurczak added a comment - Fri, 26 Aug 2011 - 11:22:48 +0200 BTW, I forgot to mention that the BPEL was invoked with the InOnly MEP. So, no returned message.
Hide
erochina added a comment - Fri, 26 Aug 2011 - 13:34:23 +0200

It could be better if in the exception message

$MiseAJourDemandeServicePartnerRequest.parameters/demandes[$counter]/idEssai
=

$SqlInterfacePartnerResponse.result/row[$counter]/column[1]

we could get the expression with the real values of the variables (here $counter). It will give extra information very useful.

Show
erochina added a comment - Fri, 26 Aug 2011 - 13:34:23 +0200 It could be better if in the exception message $MiseAJourDemandeServicePartnerRequest.parameters/demandes[$counter]/idEssai = $SqlInterfacePartnerResponse.result/row[$counter]/column[1] we could get the expression with the real values of the variables (here $counter). It will give extra information very useful.
Hide
Vincent Zurczak added a comment - Fri, 26 Aug 2011 - 13:50:04 +0200

IMO, it is not up to the runtime to indicate the correct values to set. Stating that it does not work or that it is not valid is a first step.
The tooling and / or a documentation should help to write the correct expression.

Show
Vincent Zurczak added a comment - Fri, 26 Aug 2011 - 13:50:04 +0200 IMO, it is not up to the runtime to indicate the correct values to set. Stating that it does not work or that it is not valid is a first step. The tooling and / or a documentation should help to write the correct expression.

People

Dates

  • Created:
    Fri, 26 Aug 2011 - 11:14:31 +0200
    Updated:
    Fri, 26 Aug 2011 - 13:50:04 +0200