Would it be a possibility to have a flag in the AxisFault to mark it
as an application generated or system generated exception ?

Then we can decide to log accordingly or even provide system level
properties to control that behavior'

Ajith

2009/3/20 DV <huc...@yahoo.com>:
>
> Every time I throw an application fault the error gets displayed in server 
> side as an error.
>
> To reproduce: run the faulthandling example from the distribution 
> (xis2-1.4.1/samples/faulthandling)
>
> In the server side you get:
>
> ERROR] Account does not exist!
> org.apache.axis2.AxisFault: Account does not exist!
>        at 
> example.BankServiceMessageReceiverInOut.createAxisFault(BankServiceMessageReceiverInOut.java:237)
>        at 
> example.BankServiceMessageReceiverInOut.invokeBusinessLogic(BankServiceMessageReceiverInOut.java:75)
>        at 
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
>        at 
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
>        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
>        at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>        at 
> org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:278)
>        at 
> org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:281)
>        at 
> org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:187)
>        at 
> org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:82)
>        at 
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
>        at 
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
>        at java.lang.Thread.run(Thread.java:613)
>
>
> I tracked the source of the error and it is in class AxisEngine line 212:
>
>  catch (AxisFault e) {
>            log.error(e.getMessage(), e);  // <<<<<
>            msgContext.setFailureReason(e);
>            flowComplete(msgContext);
>            throw e;
>        }
>
> Now, the only way to deal with it now is to switch off logging which is never 
> a good idea. This seems a pretty bad issue if you want to use faults. 
> Comments? Especially from the axis committers.
>
> Dino
>
>
>
>



-- 
Ajith Ranabahu

Reading, after a certain age, diverts the mind too much from its
creative pursuits. Any man who reads too much and uses his own brain
too little falls into lazy habits of thinking - Albert Einstein

Reply via email to