I see you are working on this.
I'll follow your fix.

Alan Camillo

On Tue, Dec 9, 2014 at 2:17 PM, Claus Ibsen <[email protected]> wrote:

> Hi
>
> Yeah sounds good.
>
> Its this guy
> org.apache.camel.processor.binding.RestBindingProcessor
>
> which we need to enhance to allow the RestBindingMarshalOnCompletion
> part not to do a jaxb in those situations
>
>
>
>
> On Tue, Dec 9, 2014 at 5:13 PM, Alan Camillo <[email protected]>
> wrote:
> > It'll be nice. Imagine could use a template engine to create some
> returns and mix this with some bindings.
> >
> > I will look the src and if I could help I can try.
> > Thanks!
> > Alan
> >
> >> Em 09/12/2014, às 14:01, Claus Ibsen <[email protected]> escreveu:
> >>
> >> Hi
> >>
> >> Ah yeah as it marshalled using JAXB for IN it defaults to do the
> >> reverse on out. But as you have auto mode, we could likely detect that
> >> if the message body does not have @Jaxb annotations it should use it
> >> as-is. Also we could detect if the body is a String and use that
> >> as-is, as its assume xml content to be returned as-is.
> >>
> >>> On Tue, Dec 9, 2014 at 4:27 PM, Alan Camillo <[email protected]>
> wrote:
> >>> Hello!
> >>>
> >>> I've had some problems trying the new rest dsl from camel and I'd like
> to
> >>> know if there is a way to do this:
> >>>
> >>> restConfiguration()
> >>>    .component("netty-http")
> >>>    .host("0.0.0.0")
> >>>    .bindingMode(*RestBindingMode.auto*)
> >>>    .port("{{server.port}}");
> >>>
> >>> rest("/mail")
> >>>    .post("/send")
> >>>        .consumes("text/xml")
> >>>        .produces("text/xml")
> >>>        .type(A.class)
> >>>        .to("direct:msg");
> >>>
> >>> Until here I received a A.class from the clients with no problem.
> >>> But from "direct:msg" I'd like to return a (xml) String to the client.
> Like
> >>> this:
> >>>
> >>> from("direct:msg").routeId("direct:msg")
> >>>    .log("message received: ${body}")
> >>>    .setBody(new ConstantExpression("<?xml version=\"1.0\"
> >>> encoding=\"UTF-8\"?><ok>ok</ok>"));
> >>>
> >>> And than, error:
> >>> java.io.IOException: javax.xml.bind.MarshalException
> >>> - with linked exception:
> >>> [com.sun.istack.SAXException2: unable to marshal type
> "java.lang.String" as
> >>> an element because it is missing an @XmlRootElement annotation]
> >>>
> >>> Look obvious, but I'd like to know if there a way to do this.
> >>> Thanks!
> >>> Alan Camillo
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> Red Hat, Inc.
> >> Email: [email protected]
> >> Twitter: davsclaus
> >> Blog: http://davsclaus.com
> >> Author of Camel in Action: http://www.manning.com/ibsen
> >> hawtio: http://hawt.io/
> >> fabric8: http://fabric8.io/
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [email protected]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/
>

Reply via email to