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

Recuperar informação da rota para determinar o endpoint

Caros amigos,

Tenho uma rota que converte um arquivo XML em Json, seguido por outra rota que recebe o objeto Json e atualiza os dados (PUT) em um endpoint. O detalhe é que o endpoint completo precisa do código informado pelo objeto Json.

Por exemplo, se o Json possui a informação {"codigo":3} então o endpoint deve ser: 192.168.x.x:8000/registro/3.

O uso de split().jsonPath "desmembra" o objeto, impedindo a atualização.

Alguém sabe alguma forma de fazer isso?

Obrigado.

4 respostas

Oi Andre,

agora preciso de mais info :)

Eu não peguei o que é exatamente o problema, a criação do URL dinâmico ou a criação do JSON?

abs

O JSON está com os dados corretos, o detalhe é a criação do URL dinâmico: a última informação do URL depende do código que ele lê no JSON.

solução!

Oi Andre,

com Camel 2.18 vc pode usar o método toD() para construir uma URI dinâmico:

//seu inicio da rota
   .setHeader("uripath").jsonpath("$.codigo")
 .toD("http4://localhost:8080/register/${header.uripath}");

qual versão do camel vc está usando?

abs

O último código funcionou perfeitamente!

Muitíssimo obrigado.