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/ >
