Hi Sergey,

Thanks, that worked with a custom Interceptor at Phase.PRE_INVOKE.

However, it looks like any exception I throw is NOT caught by my JAX-RS
ExceptionMapper.

Is there any way to hook things up so that it is?

cheers,

David



On Wed, Oct 9, 2013 at 10:53 AM, Sergey Beryozkin <[email protected]>wrote:

> Or may be you can use Spring AOP for now if you work with Spring
>
> Sergey
>
> On 09/10/13 15:52, Sergey Beryozkin wrote:
>
>> Hi
>> On 09/10/13 15:18, David Hay wrote:
>>
>>> Hi Sergey,
>>>
>>> Yes, that worked by upgrading, thx.
>>>
>>> So I am able to get the path params from URIInfo in the
>>> ContainerRequestFilter, but I am also passing a single non-path
>>> "command" parameter that encapsulates all the other params (passed as
>>> JSON) and has a validate() method added to it.
>>>
>>> I need to call that validate() method in the ContainerRequestFilter, but
>>> can't see a way to grab the object.
>>>
>>> The method signature is similar to:
>>>     public Response doSomething(@PathParam("**pathParam1")long
>>> pathParam1,
>>> MyCmdObject myCmdObject)
>>>
>>> Can you point me in the right direction, please, to access myCmdObject
>>> in the filter?
>>>
>>>  Right, it is not possible to do it the portable way, I'm hoping JAX-RS
>> will get it fixed somehow, in meantime, try either a custom invoker or
>> regular CXF interceptor at the PRE-INVOKE phase, see:
>>
>> https://issues.apache.org/**jira/browse/CXF-5309?**
>> focusedCommentId=13789196&**page=com.atlassian.jira.**
>> plugin.system.issuetabpanels:**comment-tabpanel#comment-**13789196<https://issues.apache.org/jira/browse/CXF-5309?focusedCommentId=13789196&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13789196>
>>
>>
>> HTH, Sergey
>>
>>  cheers,
>>>
>>> David
>>>
>>>
>>>
>>> On Mon, Sep 30, 2013 at 12:15 PM, Sergey Beryozkin <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>>     On 30/09/13 15:17, David Hay wrote:
>>>
>>>         Voted.
>>>
>>>         One more question - if I throw an exception from the
>>>         ContainerRequestFilter, is there any way to get my
>>>         ExceptionHandler to
>>>         catch it?
>>>
>>>     Do you mean JAX-RS ExceptionMapper ? Definitely has to work, in
>>>     latest CXF 2.7.7 for sure
>>>
>>>     Sergey
>>>
>>>
>>>
>>>
>>>         On Sun, Sep 29, 2013 at 2:07 PM, Sergey Beryozkin
>>>         <[email protected] <mailto:[email protected]>
>>>         <mailto:[email protected] <mailto:[email protected]>>**>
>>> wrote:
>>>
>>>              Sorry,
>>>
>>>         
>>> https://issues.apache.org/____**jira/browse/CXF-4199<https://issues.apache.org/____jira/browse/CXF-4199>
>>>         
>>> <https://issues.apache.org/__**jira/browse/CXF-4199<https://issues.apache.org/__jira/browse/CXF-4199>
>>> >
>>>
>>>              
>>> <https://issues.apache.org/__**jira/browse/CXF-4199<https://issues.apache.org/__jira/browse/CXF-4199>
>>>         
>>> <https://issues.apache.org/**jira/browse/CXF-4199<https://issues.apache.org/jira/browse/CXF-4199>
>>> >>
>>>
>>>              On 29/09/13 19:06, Sergey Beryozkin wrote:
>>>
>>>                  Vote for this JIRA please...
>>>                  Sergey
>>>                  On 29/09/13 19:03, Sergey Beryozkin wrote:
>>>
>>>                      Hi
>>>
>>>                      I've tried it on the trunk & CXF 2.7.8-SNAPSHOT,
>>>                      getPropertyNames does
>>>                      not throw NPE and returns an initialized collection,
>>>
>>>                      Get UriInfo from the context and check path
>>>         parameters from it.
>>>
>>>                      Re supporting @Provider - it is recognized, but no
>>>                      auto-discovery is
>>>                      done - I'm hoping to spend some time on it, many
>>>         providers
>>>                      do need to be
>>>                      configured which the default auto-discovery would
>>>         interfere
>>>                      with, but I
>>>                      agree for some simple providers it can make sense...
>>>
>>>                      Sergey
>>>
>>>                      On 27/09/13 20:51, David Hay wrote:
>>>
>>>                          Hi again,
>>>
>>>                          It appears that 'props' is null.
>>>
>>>                          I'm trying to get hold of the path parameters.
>>>           What's
>>>                          the best way to
>>>                          do that?
>>>
>>>
>>>                          On Fri, Sep 27, 2013 at 3:32 PM, David Hay
>>>                          <[email protected]
>>>         <mailto:david.hay@enstratius.**com <[email protected]>>
>>>         <mailto:david.hay@enstratius._**_com
>>>         <mailto:david.hay@enstratius.**com <[email protected]>>>
>>>                          <mailto:david.hay@enstratius.
>>>         <mailto:david.hay@enstratius.>**____com
>>>
>>>                          <mailto:david.hay@enstratius._**_com
>>>         <mailto:david.hay@enstratius.**com <[email protected]>>>>>
>>> wrote:
>>>
>>>                               Actually, I discovered that CXF doesn't
>>>         support
>>>                          @Provider yet?
>>>
>>>                               I went ahead and registered it in CXF, and
>>>         in the
>>>                          filter tried to
>>>                          do:
>>>
>>>                                   Enumeration e =
>>>                          requestContext.____**getPropertyNames();
>>>
>>>
>>>                               However, I get this:
>>>
>>>                                   <ns1:XMLFault
>>>
>>>           xmlns:ns1="http://cxf.apache._**___org/bindings/xformat
>>>                          
>>> <http://cxf.apache.org/__**bindings/xformat<http://cxf.apache.org/__bindings/xformat>
>>>         
>>> <http://cxf.apache.org/**bindings/xformat<http://cxf.apache.org/bindings/xformat>
>>> >>"><ns1:____**faultstring
>>>
>>>
>>>         xmlns:ns1="http://cxf.apache._**___org/bindings/xformat
>>>                          
>>> <http://cxf.apache.org/__**bindings/xformat<http://cxf.apache.org/__bindings/xformat>
>>>
>>> <http://cxf.apache.org/**bindings/xformat<http://cxf.apache.org/bindings/xformat>
>>> >>">java.____**lang.NullPointerException</___**
>>> _ns1:faultstring></ns1:____**XMLFault>*
>>>
>>>
>>>
>>>
>>>
>>>                               Thoughts?
>>>
>>>
>>>
>>>                               On Fri, Sep 27, 2013 at 3:16 PM, David Hay
>>>                          <[email protected]
>>>         <mailto:david.hay@enstratius.**com <[email protected]>>
>>>         <mailto:david.hay@enstratius._**_com
>>>         <mailto:david.hay@enstratius.**com <[email protected]>>>
>>>                               <mailto:david.hay@enstratius.
>>>         <mailto:david.hay@enstratius.>**____com
>>>
>>>                          <mailto:david.hay@enstratius._**_com
>>>         <mailto:david.hay@enstratius.**com <[email protected]>>>>>
>>> wrote:
>>>
>>>                                   Hi Sergey,
>>>
>>>                                   I added a ContainerRequestFilter with
>>>                          @Provider...but I don't
>>>                                   see it getting called at all.
>>>
>>>                                   What am I missing?
>>>
>>>
>>>                                   On Fri, Sep 6, 2013 at 4:51 AM, Sergey
>>>         Beryozkin
>>>                                   <[email protected]
>>>         <mailto:[email protected]>
>>>                          <mailto:[email protected]
>>>         <mailto:[email protected]>>
>>>                          <mailto:[email protected]
>>>         <mailto:[email protected]>
>>>
>>>                          <mailto:[email protected]
>>>         <mailto:[email protected]>>**>__> wrote:
>>>
>>>                                       Hi
>>>
>>>                                       On 05/09/13 20:09, David Hay wrote:
>>>
>>>                                           Hi,
>>>
>>>                                           I have a group of RESTful
>>>         endpoints
>>>                          that all require the
>>>                                           same
>>>                                           pre-validation (eg ensuring
>>>         that the
>>>                          related domain
>>>                                           object exists).
>>>
>>>                                           Is it possibly to set up an
>>>         interceptor
>>>                          that is somehow
>>>                                           configured to
>>>                                           perform such validation for a
>>>         set of
>>>                          methods/classes/urls?
>>>
>>>                                           If not, is there a suggested
>>>         way to
>>>                          accomplish this?
>>>
>>>                                       Starting from CXF 2.7.x you can
>>>         use JAX-RS
>>>                          2.0 NameBinding
>>>                                       to attach ContainerRequestFilter to
>>>                          individual methods or
>>>                                       classes, and the filters can also
>>>         check
>>>                          request URI and
>>>                                       ignore the validation if needed.
>>>
>>>                                       ContainerRequestFilter with a
>>>         @PreMatch
>>>                          annotation can be
>>>                                       used to do the validation before
>>>         the match
>>>                          has been done
>>>
>>>                                       Cheers, Sergey
>>>
>>>                                           thanks!
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>              --
>>>              Sergey Beryozkin
>>>
>>>              Talend Community Coders
>>>         http://coders.talend.com/
>>>
>>>              Blog: http://sberyozkin.blogspot.com
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
>

Reply via email to