NPE when external SOAP service returns fault not listed in its wsdl
-------------------------------------------------------------------
Key: ODE-256
URL: https://issues.apache.org/jira/browse/ODE-256
Project: ODE
Issue Type: Bug
Components: BPEL Runtime
Affects Versions: 1.1.1, 1.2
Environment: Windows XP Pro, JDK 1.5.0.07, Oracle 10g XE, Apache
Tomcat 5.5.25, OpenJPA
Reporter: Alexey Ousov
Fix For: 1.2
Often, if axis2 based java service don't list any fault(s) in its wsdl, and
throws RuntimeException, axis2 tranlates it to soapenv:Server standard fault.
ODE BPEL runtime is not able to catch such failures (neither version 1.1.1 nor
-trunk), there is just NPE happens, transaction is abandoned and client
receives timeout exception. Here is a stack trace for -trunk version:
java.lang.NullPointerException
at org.apache.ode.axis2.ExternalService.reply(ExternalService.java:299)
at org.apache.ode.axis2.ExternalService.invoke(ExternalService.java:152)
at
org.apache.ode.axis2.MessageExchangeContextImpl.invokePartnerUnreliable(MessageExchangeContextImpl.java:67)
at
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl$UnreliableInvoker.run(PartnerLinkPartnerRoleImpl.java:339)
at
org.apache.ode.bpel.engine.BpelProcess$ProcessRunnable.run(BpelProcess.java:1123)
at
org.apache.ode.bpel.engine.BpelServerImpl$ServerRunnable.run(BpelServerImpl.java:793)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
This happens, because odeMex.getOperation().getFault(nonNullFT.getLocalPart())
returns null in this case.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.