Hi Udara,

On Sun, May 10, 2015 at 10:17 AM, Udara Liyanage <ud...@wso2.com> wrote:

> Hi Lahiru,
>
> I have few concerns about the former method
>
> * How would you do the first approach for the service method which are
> actually returning a boolean value?
>

 If there is a return value(Boolean or anything), this problem is not
there.

*Say we change void to boolean, then a  how can the exact exception cab be
> passed down to the client since the method may fail due to multiple
> exception
>

All the specific exceptions will be correctly passed. This seems an issue
with Axis2. See the other thread where Chamila explained the issue as
follows,

"The issue with custom exceptions not being returned was that in the stub
when recreating the exception, in the returned AxisFault, 'detail' field is
being set to null."

So the details field does not become null when there is a non 'void' return
type. So any custom exception can be catched.

* Is it a good practice to change return type just for catching exceptions
>

No. But this will be a fair workaround, since we are planning to migrate
AS/CC services to Rest services ASAP.

Thanks.

>
>
> On Sun, May 10, 2015 at 10:11 AM, Lahiru Sandaruwan <lahi...@wso2.com>
> wrote:
>
>> Hi all,
>>
>> I have been looking into solving issues in $subject. Found that,
>> currently if the back end service method return type is void, service stub
>> throws an AxisFault with the message of custom exception message, but not
>> the exact exception.
>>
>> One solution is, to have a boolean return value, for the methods that are
>> having return type void, for the purpose of catching custom exceptions.
>>
>> According to [1], we can throw custom exceptions as below and catch as
>> well.
>>
>> throw new AxisFault(new QName("http://test.org";, "FaultCode", "test"),
>> "FaultReason", new Exception("This is a test Exception"));
>>
>> But i prefer former way as it is crystal clear. Shall we go ahead with
>> that?
>>
>> Wdyt?
>>
>> [1] http://wso2.com/library/171/
>>
>> Thanks.
>> --
>> --
>> Lahiru Sandaruwan
>> Committer and PMC member, Apache Stratos,
>> Senior Software Engineer,
>> WSO2 Inc., http://wso2.com
>> lean.enterprise.middleware
>>
>> phone: +94773325954
>> email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/
>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>
>>
>
>
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>



-- 
--
Lahiru Sandaruwan
Committer and PMC member, Apache Stratos,
Senior Software Engineer,
WSO2 Inc., http://wso2.com
lean.enterprise.middleware

phone: +94773325954
email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/
linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146

Reply via email to