On 03/06/14 18:56, techbird wrote:
Once more thank you Sergey, as discussed jira ticket raised.
https://issues.apache.org/jira/browse/CAMEL-7476
Thanks
I guess my hesitation has been caused by coding some simple cxfrs
routes; and noticing the behaviour of the producer. I couldn't help but
think, if there are lots of developers using cxfrs then this issue would
have been resolved a few years ago. So I thought, are developers
actually using cxfrs? if not, what component are they using or do
developers prefer to use cxf jax-rs directly from a bean or processor.
AFAIK CXFRS definitely has not been the most used Camel HTTP aware
component. However it has been improved a lot recently. We have it
supported in our own distro. I also know that some developers do some
cool things with it but I'm not going to spend time promoting CXFRS here.
The other point: CXFRS, due to its dependency on JAX-RS, does many
things the non-Camel way. It is a typical compromise: you either do
various things at a Camel route level, effectively do a route-based
'dev' or you have a given component like CXFRS (or CXF) dealing with
things like serialization, exception handling, etc...
The process of getting CXFRS more Camel friendly is under way, meaning
that we have some basic improvements in place now for it to respect
higher-level camel configuration properties, work with Camel-level
readers/writers, etc.
HTH, Sergey
For my my use-case, I also have a need for a REST consumer, and for
simplicity want use the same component for both producer and consumer.
Therefore, I wondered what was the best way to write JAX-RS services in
camel!
On 03/06/14 09:48, Sergey Beryozkin wrote:
On 03/06/14 07:45, techbird wrote:
Appreciated Sergey.
You confirmed what I thought, the throwExceptionOnFailure option is not
being processed by the cxfrs component. I'll raise a jira for this, and
also that the default should be false.
Could someone chime in, and let me know if using cxfrs is the wrong
strategic direction for either invoking or consuming REST services
(using cxf) with Camel.
Ultimately it is about making basic HTTP invocations from the route.
So please don't worry about making a 'strategic' mistake by either
using or not using cxfrs. As I said, try one of pure HTTP components.
If you prefer JAX-RS but also for example Jersey rather than CXF then
feel free to do a custom Camel Jersey module. There are many ways to
achieve the goal of doing HTTP requests from the route
Sergey
Kind regards and thank you Bird.
On 02/06/14 21:11, Sergey Beryozkin wrote:
Hi
Can you please open a JIRA to get throwExceptionOnFailure=false
affecting the client ?
I can do it too, we can get it supported in CXFRS
Typically, a JAX-RS client dealing with JAX-RS Response should not get
the exceptions propagated but I guess it is defaulted to right now in
the CXFRS client
Cheers, Sergey
On 02/06/14 21:05, techbird wrote:
Thanks Sergey - was looking to use jaxrs/cxf. Therefore thought
cxfrs.
Any ideas about the throwExceptionOnFailure option for cxfrs, has
anyone
being able to get it to work?
On 02/06/14 20:55, Sergey Beryozkin wrote:
Hi
camel jetty, http and restlet and possibly other components can be
used too
Sergey
On 02/06/14 20:00, techbird wrote:
Hi, two questions if I may.
(1) If I want to invoke REST services, is the cxfrs the preferred
component to use?
(2) Using cxfrs I cannot get throwExceptionOnFailure option to
work. I
would like to be able to process errors (>400) in the route, rather
than
complicating the code with exceptions. No matter what I try,
errors are
always raise an exception. Is there any example code using the
option
throwExceptionOnFailure=false?
Best regards, Bird.