首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将exchange头设置为路由的结果?

如何将exchange头设置为路由的结果?
EN

Stack Overflow用户
提问于 2016-09-12 20:16:22
回答 1查看 6.1K关注 0票数 1

我有一个骆驼路线,它有一个步骤,它调用一个子路径将身体的文本部分转换为PDF。不幸的是,camel-pdf没有保留标头。有什么方法可以在不丢失当前交换的情况下获得子路由的值?

支线

代码语言:javascript
复制
from("seda:generate-pdf")

// Back up the original in a header
.setHeader("original", body())

// Create the PDF
.to("pdf:create?textProcessingFactory=autoFormatting")
// UHOH! All my headers are gone :(

// Set the PDF as the header for the doc server
.setHeader("pdf", body())

// Move the indicator back to the body
.setBody(header("original")) // <-- this no longer exists

主干线

代码语言:javascript
复制
// Snip

// Unmarshal into Java

.unmarshal().json(JsonLibrary.Gson, MyReportContainingText.class)

// Call sub-route to generate the PDF
.inOut("seda:generate-pdf")
// UHOH! All my headers are gone :(

// Snip
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-12 21:20:04

而不是将内容保存在标题中,当您从一条路由传递到另一条路由时,可以将其删除,而是将它们保存为exchange属性。例如:

代码语言:javascript
复制
.setProperty("pdf", body())
.setProperty("pdf", simple("${body}")

只要交换存在,交换属性就存在。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39458147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档