No exception propagation back to integration layer in case of invalid XML
request
---------------------------------------------------------------------------------
Key: ODE-715
URL: https://issues.apache.org/jira/browse/ODE-715
Project: ODE
Issue Type: Bug
Components: BPEL Runtime
Affects Versions: 1.3.4
Environment: MacOS X
Reporter: Renat Zubairov
Integration layer is getting an XML from outside and try to initiate a process
with this XML using MyRoleMessageExchange object. Following code doing it:
Message messageDesc = mex.getOperation().getInput().getMessage();
final Document odeMsg = constructODEMessage(message, messageDesc);
Message odeRequest = mex.createMessage(messageDesc.getQName());
odeRequest.setMessage(odeMsg.getDocumentElement());
Future future = mex.invoke(odeRequest);
// Commiting transaction
...
// Waiting for response
future.get(1000, TimeUnit.SECONDS);
The problem is however that XML which is sent to ODE is not valid according to
the WSDL schema, in this case we can see following exceptions in the log:
02:04:06,930 ERROR [PICK] Message (element) part body did not contain correct
child element: expected
{http://example.com/RenatsProviderProcess/Pool0}EventStartMessageRequest but
got test
02:04:06,931 ERROR [PICK] Message (element) part body did not contain correct
child element: expected
{http://example.com/RenatsProviderProcess/Pool0}EventStartMessageRequest but
got test
02:04:06,932 ERROR [PICK] Message (element) part body did not contain correct
child element: expected
{http://example.com/RenatsProviderProcess/Pool0}EventStartMessageRequest but
got test
02:04:06,932 ERROR [JacobVPU] Method "onRequestRcvd" in class
"org.apache.ode.bpel.runtime.PICK$WAITING$2" threw an unexpected exception.
org.apache.ode.bpel.runtime.InvalidContextException: Message (element) part
body did not contain correct child element: expected
{http://example.com/RenatsProviderProcess/Pool0}EventStartMessageRequest but
got test
at org.apache.ode.bpel.runtime.PICK.initVariable(PICK.java:247)
at org.apache.ode.bpel.runtime.PICK.access$400(PICK.java:55)
at
org.apache.ode.bpel.runtime.PICK$WAITING$2.onRequestRcvd(PICK.java:305)
at sun.reflect.GeneratedMethodAccessor474.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
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:879)
at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:206)
at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:237)
at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:408)
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$5$1.call(SimpleScheduler.java:443)
at
org.apache.ode.scheduler.simple.SimpleScheduler$5$1.call(SimpleScheduler.java:437)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:226)
at
org.apache.ode.scheduler.simple.SimpleScheduler$5.call(SimpleScheduler.java:436)
at
org.apache.ode.scheduler.simple.SimpleScheduler$5.call(SimpleScheduler.java:432)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
02:04:06,933 ERROR [JacobVPU] Method "onRequestRcvd" in class
"org.apache.ode.bpel.runtime.PICK$WAITING$2" threw an unexpected exception.
...
However future object do not return anything.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.