gpt4 book ai didi

java - Gzip apache Camel 请求休息

转载 作者:行者123 更新时间:2023-11-29 08:54:42 25 4
gpt4 key购买 nike

我正在使用 apache camel 从 spring 调用 rest 服务

现在我们需要在我们的主体中发送 json 请求,以便使用 apache camel 在 GZIP 中传递。我尝试将 CONTENT_ENCODING 添加为 gzip,但它不起作用。请看代码

public void process(Exchange exchange) { exchange.setPattern(ExchangePattern.InOut); exchange.setProperty(Exchange.CHARSET_NAME, "UTF-8"); Message inMessage = exchange.getIn(); inMessage.setHeader(ACCEPT_HEADER, "application/json"); inMessage.setHeader(CONTENT_TYPE, "application/json"); inMessage.setHeader(Constants.ACCEPT_ENCODING, Constants.ACCEPT_ENCODING_TYPE); inMessage.setHeader(Exchange.CONTENT_ENCODING, "gzip"); inMessage.setBody(body);

在 camelContext.xml 中,

我们已经定义

 <route streamCache="true">
<from uri="direct:setUpload" />
<recipientList>
<simple>cxfrs://{{uploadSample.url}}?throwExceptionOnFailure=false</simple>
</recipientList>
<unmarshal ref="sampleParser" />
</route>

我们是否需要设置任何其他东西来 gzip 正文 JSON 请求

请帮忙解决这个问题

问候哈里

最佳答案

您可以尝试在收件人列表之前将 json 字符串转换为 gzip。

ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(str.getBytes());
exchange.setBody(out.toString());

关于java - Gzip apache Camel 请求休息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20877706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com