Olá. poderiam me disponibilizar os arquivos e classe completa deste exercicio?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá. poderiam me disponibilizar os arquivos e classe completa deste exercicio?
Como mencionei no outro tópico, Bruno, confira se nas aulas seguintes a classe já não está disponível! Mas em breve o instrutor dará um pulo aqui pra conferir.
Oi Bruno, segue a classe completa:
package br.com.caelum.camel;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.http4.HttpMethods;
import org.apache.camel.impl.DefaultCamelContext;
import org.mortbay.jetty.HttpSchemes;
public class RotaPedidos {
public static void main(String[] args) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("file:pedidos?delay=5s&noop=true").
routeId("rota-pedidos").
multicast().
to("direct:soap").
to("direct:http");
from("direct:http").
routeId("rota-http").
setProperty("pedidoId", xpath("/pedido/id/text()")).
setProperty("clienteId", xpath("/pedido/pagamento/email-titular/text()")).
split().
xpath("/pedido/itens/item").
filter().
xpath("/item/formato[text()='EBOOK']").
setProperty("ebookId", xpath("/item/livro/codigo/text()")).
marshal().xmljson().
//log("${id} - ${body}").
setHeader(Exchange.HTTP_METHOD, HttpMethods.GET).
setHeader(Exchange.HTTP_QUERY,simple("ebookId=${property.ebookId}&pedidoId=${property.pedidoId}&clienteId=${property.clienteId}")).
to("http4://localhost:8080/webservices/ebook/item");
from("direct:soap").
routeId("rota-soap").
to("xslt:pedido-para-soap.xslt").
log("${body}").
setHeader(Exchange.CONTENT_TYPE,constant("text/xml")).
to("http4://localhost:8080/webservices/financeiro");
}
});
context.start();
Thread.sleep(20000);
context.stop();
}
}
abs