ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Ousov (JIRA)" <j...@apache.org>
Subject [jira] Created: (ODE-256) NPE when external SOAP service returns fault not listed in its wsdl
Date Mon, 31 Mar 2008 13:00:32 GMT
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.


Mime
View raw message