Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-256

NPE when external SOAP service returns fault not listed in its wsdl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.1.1, 1.2
    • 1.2
    • BPEL Runtime
    • None
    • Windows XP Pro, JDK 1.5.0.07, Oracle 10g XE, Apache Tomcat 5.5.25, OpenJPA

    Description

      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.

      Attachments

        1. axis2_fault_full.txt
          55 kB
          Alexey Ousov
        2. axis2_fault.txt
          9 kB
          Alexey Ousov
        3. bpel_fault.txt
          11 kB
          Alexey Ousov
        4. ODE-256.patch
          0.8 kB
          Alexey Ousov

        Activity

          People

            mriou Matthieu Riou
            doubleaxe Alexey Ousov
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: