You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Kim Damevin (JIRA)" <ji...@apache.org> on 2010/10/21 17:38:18 UTC

[jira] Commented: (AXIS2-4280) Handle error handling of AxisFault better

    [ https://issues.apache.org/jira/browse/AXIS2-4280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923488#action_12923488 ] 

Kim Damevin commented on AXIS2-4280:
------------------------------------

I have the same problem on version Axis-2 version 1.5.1 (seems to bealso present on v 1.5.2).
Can you apply this change on this branch ?

> Handle error handling of AxisFault better
> -----------------------------------------
>
>                 Key: AXIS2-4280
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4280
>             Project: Axis2
>          Issue Type: Improvement
>          Components: kernel
>    Affects Versions: 1.4.1
>         Environment: NA
>            Reporter: Dino
>            Priority: Critical
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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 where it blindly logs all faults as errors:
> 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 is a serious bad issue if you want to use faults. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org