[
https://issues.apache.org/jira/browse/ODE-256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Ousov updated ODE-256:
-----------------------------
Attachment: bpel_fault.txt
This is typical log when BPEL process throws exception and everything works
fine.
> 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
>
> Attachments: axis2_fault.txt, bpel_fault.txt
>
>
> 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.