I saw this example. And, yes, you are right, I cannot get pretty print to
work. I am using FUSE-Mediation-Router 1.6.1.0 (Camel-1.6.1 is wrapped).

Instead of

"<?xml version="1.0" encoding="UTF-8" standalone="yes"?><interplat xmlns="
http://example.com/schema/v1.0";><payload><currencyRates
date="2009-06-02"><rate currency="EUR">43.4875</rate><rate
currency="USD">30.7441</rate></currencyRates>..."

I would like to have

"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<interplat xmlns="http://exapmple.com/schema/v1.0";>
  <payload>
    <currencyRates date="2009-06-02">
      <rate currency="EUR">43.4875</rate>
      <rate currency="USD">30.7441</rate>
    </currencyRates>..."

I tried to use JaxbDataFormat jaxb = new
JaxbDataFormat("com.example.canonical.v1"); jaxb.setPrettyPrint(true); But
it doesn't help.

Full example:

        CBRQueryProcessor processor = new CBRQueryProcessor();
        JaxbDataFormat jaxb = new
JaxbDataFormat("com.example.canonical.v1");
        jaxb.setPrettyPrint(true);
        from(SERVICE_IN).to(LOG_URI).multicast(new AggregationStrategy() {

            @Override public Exchange aggregate(Exchange oldExchange,
Exchange newExchange) {
                List<CurrencyRates> eurRates =
oldExchange.getOut().getBody(Interplat.class).getPayload().getCurrencyRates();
                List<CurrencyRates> usdRates =
newExchange.getOut().getBody(Interplat.class).getPayload().getCurrencyRates();
                for (int i = 0; i < eurRates.size(); i++) {

eurRates.get(i).getRate().add(usdRates.get(i).getRate().get(0));
                }
                return oldExchange;
            }
        }).to("direct:receiveForEUR",
"direct:receiveForUSD").end().marshal(jaxb).to(LOG_URI);
        from("direct:receiveForEUR").bean(processor,
"processEUR").inOut().to("direct:receiveCurrencyRates");
        from("direct:receiveForUSD").bean(processor,
"processUSD").inOut().to("direct:receiveCurrencyRates");
        from("direct:receiveCurrencyRates").pipeline("
http://www.cbr.ru/scripts/XML_dynamic.asp";, LOG_URI,
"xslt:to_canonical_v1.xsl", LOG_URI).unmarshal(jaxb);


On Mon, Jul 13, 2009 at 1:59 PM, Claus Ibsen <[email protected]> wrote:

> Hi
>
> If I understand your questions, you cannot get pretty print to work?
> What is your problem more precisely?
> And what version of Camel are you using?
>
> A good idea is try looking in the camel-jaxb/src/test/java for
> examples how to use marshal/unmarshal data format to/from XML.
>
>
> On Sun, Jul 12, 2009 at 5:20 PM, dulanov<[email protected]> wrote:
> >
> > How receive pretty print XML output?
> >
> > Next solution just output something like ":<?xml version="1.0"
> > encoding="UTF-8" standalone="yes"?><interplat
> > xmlns="http://example.com/schema/v1.0";><payload><currencyRates
> > date="2009-06-02"><rate currency="EUR">43.4875</rate><rate
> > currency="USD">30.7441</rate></currencyRates>..."
> >
> > JaxbDataFormat jaxb = new JaxbDataFormat("com.example.canonical.v1");
> > jaxb.setPrettyPrint(true);
> > from(SERVICE_IN).to(LOG_URI).multicast(new AggregationStrategy() {
> >
> >        @Override public Exchange aggregate(Exchange oldExchange, Exchange
> > newExchange) {
> >                ...
> >                return oldExchange;
> >        }
> > }).to("direct:receiveForEUR",
> > "direct:receiveForUSD").end().marshal(jaxb).to(LOG_URI);
> > --
> > View this message in context:
> http://www.nabble.com/JAXB-pretty-print-marshaling-tp24449564p24449564.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >
> >
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Reply via email to