当前位置: 首页 > 知识库问答 >
问题:

如何将交换头设置为路由的结果?

傅琦
2023-03-14

我有一个骆驼路线,它有一个步骤,调用一个子程序将正文的文本部分转换为PDF。不幸的是,camelpdf没有保留标题。有没有一种方法可以在不丢失当前兑换的情况下获取子例程的值?

子路线

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

主要路线

// 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

共有1个答案

扈运浩
2023-03-14

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

.setProperty("pdf", body())
.setProperty("pdf", simple("${body}")

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

 类似资料:
  • 我正在使用 Camel sql 组件,并希望在事务失败时使用 onConsumeFailed 更新具有异常堆栈跟踪的记录。 表结构: 如果不存在,则创建表 库存( itemnbr 整数 非空默认值 nextval('inventory_itemnbr_seq'::regclass), 位置整数, 位置类型字符变化 (2) , 颜色字符变化 (5) , 品牌字符变化 (5), soh 双精度, ca

  • 我正试图在我的react网站上设置谷歌分析4。之前我用的是react-ga,但是这个库还不支持Google Analytics 4。我将GA4标签直接粘贴到index.html文件中,没有外部库。要让GA4与react路由器一起工作,我还需要添加什么代码?< br >预先感谢!

  • 问题内容: 我想从而不是从站点根目录开始导航。 例如 当我的网址是 我该怎么办? 问题答案: 当用户导航到时,将基本标记添加到正在提供的主HTML文件中: 可以在开发人员指南/使用$ location中 找到更多信息。

  • 问题内容: 我有以下几点: 使用DefaultRoute时,由于任何* Dashboard需要在Dashboard中呈现,因此SearchDashboard呈现不正确。 我想在“应用”路由内将DefaultRoute指向路由“ searchDashboard”。这是我可以使用React Router进行的操作,还是应该为此使用常规Javascript(用于页面重定向)? 基本上,如果用户转到主页,

  • 我有以下几点: 使用DefaultRoute时,SearchDashboard渲染不正确,因为任何*仪表板都需要在仪表板中渲染。 我想为我的默认路线内的"应用程序"路由指向路由"搜索仪表板"。这是我可以用React路由器做的事情吗,或者我应该为此使用普通的Javascript(页面重定向)? 基本上,如果用户转到主页,我希望将其发送到搜索仪表板。所以我想我正在寻找一个与

  • 说明: callback Gateway::$router 设置Gateway到BusinessWorker路由规则。默认规则是Gateway随机选择一个BusinessWorker进程,然后把当前client_id与这个BusinessWorker进程绑定,以后这个client_id的所有数据(onConnect/onMessage/onClose事件)都交给这个绑定的BusinessWorke