Hello Sergey,

yes, when I debugged strange thing happened (at least to me :) ):
ServiceInvocationHandler matched the exception from the server with the
invoked method's ones and execution has stepped into the if clause (line
75), to throw theCause;
But then the iteration ended normally and the exception at line 80 has been
thrown instead of line 75. Kind of confusing, but I can carry on debugging
at least :)

On Mon, Sep 26, 2011 at 12:46 PM, Sergey Beryozkin <[email protected]>wrote:

> Hi András
>
> I'm afraid I don't know the answer at the moment.
> I agree that if an interface method declares a custom Exception then it has
> to be thrown - I'm not seeing the attachment - do you see in the debugger if
> ServiceInvocationHandler manages to match a Throwable instance to one of the
> exception classes in the map, before proceeding with throwing
> ServiceException ?
>
> Cheers, Sergey
>
>
>
> On 26/09/11 11:16, András Liter wrote:
>
>> Hello Sergey,
>>
>> thanks for the tips!
>>
>> I tried the Greeter sample as well, and in my environment its exception
>> handling fails the same way I described before (the custom exception is
>> declared, no compilation error, but then a runtime exception / error
>> (execution stops :( )).
>>
>> I debugged this exception as well at the client side (for me it only
>> shows that my custom exception is wrapped). I attached the variables
>> scrrenshot anyway, and I've also attached the debugged variables at
>> ServiceInvocationHandler's catch clause (exception_debugged_sih.png).
>> Are these proper?
>>
>> Thanks,
>> András
>>
>> On Mon, Sep 26, 2011 at 11:19 AM, Sergey Beryozkin <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>    Hi
>>
>>    Here is the way it's handled on the client side:
>>
>>    http://svn.apache.org/repos/__**asf/cxf/dosgi/trunk/dsw/cxf-__**
>> dsw/src/main/java/org/apache/_**_cxf/dosgi/dsw/handlers/__**
>> ServiceInvocationHandler.java<http://svn.apache.org/repos/__asf/cxf/dosgi/trunk/dsw/cxf-__dsw/src/main/java/org/apache/__cxf/dosgi/dsw/handlers/__ServiceInvocationHandler.java>
>>    <http://svn.apache.org/repos/**asf/cxf/dosgi/trunk/dsw/cxf-**
>> dsw/src/main/java/org/apache/**cxf/dosgi/dsw/handlers/**
>> ServiceInvocationHandler.java<http://svn.apache.org/repos/asf/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ServiceInvocationHandler.java>
>> >
>>
>>    I don't recall if I was the last one who changed that code or if
>>    David was applying more changes afterwards. I suspect that was code
>>    was supposed to be compliant with the spec we were implementing at a
>>    time :-)
>>
>>    Looking at this code:
>>
>>    http://svn.apache.org/repos/__**asf/cxf/dosgi/trunk/samples/__**
>> greeter/client/src/main/java/_**_org/apache/cxf/dosgi/samples/**
>> __greeter/client/Activator.**java<http://svn.apache.org/repos/__asf/cxf/dosgi/trunk/samples/__greeter/client/src/main/java/__org/apache/cxf/dosgi/samples/__greeter/client/Activator.java>
>>    <http://svn.apache.org/repos/**asf/cxf/dosgi/trunk/samples/**
>> greeter/client/src/main/java/**org/apache/cxf/dosgi/samples/**
>> greeter/client/Activator.java<http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/greeter/client/src/main/java/org/apache/cxf/dosgi/samples/greeter/client/Activator.java>
>> >
>>
>>    suggests that custom exceptions have to be thrown - so I suspect
>>    that if you get a ServiceException then no mapping was successful...
>>
>>    The best way to figure out what is happening is to checkout the
>>    source, start the client container in a debug mode and get a
>>    breakpoint in ServiceInvocationHandler...
>>
>>    Hope that helps a bit,
>>
>>    Cheers, Sergey
>>
>>
>>
>>    On 26/09/11 10:01, András Liter wrote:
>>
>>        Thanks.
>>
>>        So I have some kind of misunderstanding about DOSGi CXF's exception
>>        handling.
>>
>>        My scenario is the following:
>>        I created a simple client-server architecture, where both client
>>        and server
>>        components run on Equinox and the communication is based on
>>        DOSGi CXF. The
>>        webservices worked fine, then I decided to put some
>>        exception-handling into
>>        the application. I subclassed java.lang.Exception to create a
>> common
>>        exception for my app, then subclassed that exception for specific
>>        exceptions.  Of course both client and server bundles use these
>>        exceptions,
>>        as I put them into the interface bundle.
>>
>>        Then I wanted to test the exceptions: the client called the
>>        server side
>>        service operation, which threw my specific exception, but it was
>>        wrapped in
>>        the following exceptions:
>>
>>        java.lang.reflect.__**UndeclaredThrowableException /
>>        java.lang.reflect.__**InvocationTargetException /
>>        org.osgi.framework.__**ServiceException /
>>        java.lang.reflect.__**InvocationTargetException /
>> MySpecificException
>>
>>        And here comes my question: Is this wrapping provided by the CXF
>>        DOSGi
>>        runtime? I mean is this the way it should work? If so, how could
>>        I catch
>>        this exception nicely on the client side? In nicely I mean that
>>        so far the
>>        only way I figured out was having a catch block for
>>        UndeclaredThrowable (or
>>        Exception.. :)), which just makes having custom exceptions
>>        useless :) And
>>        naturally, my IDE (Eclipse) wants the custom exception to be
>>        catched..
>>
>>        I tried to make my application exception by subclassing
>>        InvocationTargetException, but didnt work the way I wanted.
>>
>>        So I am a bit confused, I hope someone can clarify my issue.
>>
>>        Thanks in advance,
>>        András Liter
>>
>>        On Sat, Sep 24, 2011 at 7:20 PM, Glen Mazza<[email protected]
>>        <mailto:[email protected]>>  wrote:
>>
>>
>>            Feel free to ask your questions here.
>>
>>            Glen
>>
>>
>>            On 09/24/2011 06:49 AM, András Liter wrote:
>>
>>                Dear CXF Users,
>>
>>
>>
>>                I wonder if there is a separate mailing list for the
>>                CXF-DOSGI subproject,
>>                or can I write my question regarding CXF-DOSGI here?
>>
>>
>>
>>                Thank you,
>>
>>                András Liter
>>
>>
>>
>>            --
>>            Glen Mazza
>>            Talend - http://www.talend.com/ai
>>            Blog - http://www.jroller.com/gmazza
>>            Twitter - glenmazza
>>
>>
>>
>>
>>
>>
>

Reply via email to