Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.3.4
-
None
-
MacOS X
Description
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
EventStartMessageRequest but got test
02:04:06,932 ERROR [PICK] Message (element) part body did not contain correct child element: expected
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
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.