Hi !

New week, new trouble !

I'd like to implement a try/catch business process, just for test purpose.

So, I deploy an Axis Web services called 'FaultyService', able to throw exception on demand (input != 0 => return an Object, input = 0 => throw a FaultyException). And a business process wich invoke FaultyService.


I basically define a catchAll in a faultHandler at process level, witch rethrow the exception :
  <bpws:faultHandlers>
    <bpws:catchAll>
      <bpws:sequence>
        <bpws:rethrow/>
      </bpws:sequence>
    </bpws:catchAll>
  </bpws:faultHandlers>

When I invoke the process, asking for an exception to be thrown, well ... nothing happend, and it end in a timeout. The FaultyException is thrown, as I see it at SOAPMonitor Level in Axis2 :
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
  <soapenv:Body>
    <soapenv:Fault>
      <faultcode>soapenv:Server</faultcode>
<faultstring>Here is a FaultyException throwed by FaultyService</faultstring>
      <detail />
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

In tomcat logs, I get the following error :
ERROR - GeronimoLog.error(108) | An exception occured while executing an isolated transaction, the transaction is going to be abandoned.
java.lang.NullPointerException
at org.apache.ode.axis2.ExternalService$4.call(ExternalService.java:330) at org.apache.ode.axis2.ExternalService$4.call(ExternalService.java:327) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179) at org.apache.ode.scheduler.simple.SimpleScheduler$1.call(SimpleScheduler.java:160) 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:613)

I try to deploy the svn test process, but it fails with a lot of compile errors.
I used :
http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/
(it requires probeService.wsdl I get from here : http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/ProbeService/probeService.wsdl)

I think I miss something about Fault handling in BPEL :(

--
 Sebatian

Reply via email to