Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Desafio: praticando transformação de XML com XSLT - Exception: No consumers available on endpoint:

Eu tomo a exception abaixo ao executar o código. Alguém conseguiu resolver?

Exception in thread "main" org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[ID-inspiron-5457-38303-1621602923141-0-2][Message: <movimentacoes><movimentacao><valor>2314.4</valor><data>11/12/2015</data><tipo>ENTRADA</tipo></movimentacao><movimentacao><valor>546.98</valor><data>11/12/2015</data><tipo>SAIDA</tipo></movimentacao><movimentacao><valor>314.1</valor><data>12/12/2015</data><tipo>SAIDA</tipo></movimentacao><movimentacao><valor>56.99</valor><data>13/12/2015</data><tipo>SAIDA</tipo></movimentacao></movimentacoes>]

.....

Caused by: org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://entrada]. Exchange[ID-inspiron-5457-38303-1621602923141-0-2][Message: <movimentacoes><movimentacao><valor>2314.4</valor><data>11/12/2015</data><tipo>ENTRADA</tipo></movimentacao><movimentacao><valor>546.98</valor><data>11/12/2015</data><tipo>SAIDA</tipo></movimentacao><movimentacao><valor>314.1</valor><data>12/12/2015</data><tipo>SAIDA</tipo></movimentacao><movimentacao><valor>56.99</valor><data>13/12/2015</data><tipo>SAIDA</tipo></movimentacao></movimentacoes>]


2 respostas

O codigo é esse:

package br.com.caelum.camel;

import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

public class RotaMovimentacoes {

    public static void main(String[] args) throws Exception {


        CamelContext context = new DefaultCamelContext();            
        context.addRoutes(new RouteBuilder() {

            @Override
            public void configure() throws Exception {

                ProducerTemplate producer = context.createProducerTemplate();
                producer.sendBody("direct:entrada", 
                        "<movimentacoes>" +
                            "<movimentacao><valor>2314.4</valor><data>11/12/2015</data><tipo>ENTRADA</tipo></movimentacao>" +
                            "<movimentacao><valor>546.98</valor><data>11/12/2015</data><tipo>SAIDA</tipo></movimentacao>" + 
                            "<movimentacao><valor>314.1</valor><data>12/12/2015</data><tipo>SAIDA</tipo></movimentacao>" + 
                            "<movimentacao><valor>56.99</valor><data>13/12/2015</data><tipo>SAIDA</tipo></movimentacao>" + 
                        "</movimentacoes>");                

                from("direct:entrada").
                to("xslt:movimentacoes-para-html.xslt").
                    setHeader(Exchange.FILE_NAME, constant("movimentacoes.html")).
                log("${body}").
            to("file:saida");            
            }

        });

        context.start();
        Thread.sleep(10000);
        context.stop();
    }    
}
solução!

verifiquei que o arquivo movimentacao-para-xslt estava totalmente errado.