Olá. poderiam me disponibilizar os arquivos e classe completa deste exercicio?
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