[Axis2-1.4.1] Error handling

2009-03-19 Thread DV

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


  


[AXIS2] How to change the service path

2009-03-16 Thread DV

I am able to call my services via https:///services/MyService

However, I want to add qualified paths to my services. For example:

https:///services/account/v1/MyAccountService
https:///services/account/v2/MyAccountService

etc.

How can this be configured this with Axis2 1.4.1?

Dino