i have the same problem: Try-Catch is not working in RealTime Jobs.
I created a small test-job which raise an unique constraint exception from oracle.
When running the job in normal mode (or published and called via soapUI), the catch block is not performed (tested via outputs and print() in a script) BUT the output-xml is written.
When running in debug mode, the catch block IS performed.
When publishing the job and call it, we have the following behaviour:
1st WS-call returns correct response.
2nd (and following) WS-call(s) returning “Web Services is unable to process the request to call real-time service ‘Test_SPX’ using Access Server ‘ouraccessserver:usedport’. Error: Server sent back error: Communication Error. See real time job log for details.”
The solution with try-catch outside the brackets don’t work for me (always getting an “ApplicationError”).
With the first call, this Webservice get killed.
So I can NEVER be sure if my Webservices are up and running (ok…i can create a batchjob parsing the log files of this webservice but this is not a solution).
Why this is a bug:
- catch just don’t work
- I can kill a WebService with one soap-Request (talking about “Denial of Service”)
- You don’t see all later requests in log at all as RT-job is dead and does no logging at all anymore.
With this behavior, it’s almost impossible to provide a high-availability (24/7) webservice
Best solution (from my perspective): RealTime-Job Brackets working like try-catch so even if there’s an exception raised by one request, the job just restarts and the following ones are performed correctly.
This would also reflect the idea of webservices as they are “stateless” from a technical point of view.
Feel free to contact me, we can also discuss this topic directly.
@manoj: can you please check this if it’s already posted as Bug (and this is a major one!) as service.sap.com is unavailable at the moment.
If not, I will do so.
@all: anyone maybe has an idea or some similar problems?
Thanks in advance and Best Regards
schaphi (BOB member since 2012-06-04)