apache - 将 CachedOutputStream 转换为字符串
问题描述
将 CachedOutputStream 转换为字符串。
将骆驼从 2.12 升级到 2.23 后,我的路线出现问题,相同的代码相同的路线。
调用端点后的响应是 org.apache.camel.converter.stream.CachedOutputStream
我尝试将其转换CachedOutputStream
为字符串的类型。
String body = exchange.getIn().getBody(String.class);
logger.info("FJA the string after caling endpoint: " + body);
我 dk.bankconnect.hub.Util 后 FJA 后强度:
-0��phjA����/h`�FhI[����G<������,�Z���f���=��Rϝ��s#���O� ~~#~G�t
如何将 CachedOutputStream 转换为字符串?
我尝试了许多不同的方法来避免响应以流的形式出现。但是,我没有成功。
这是我的路线的一小段:
from("direct:sdc:webservice")
.setProperty("webservice", constant(Boolean.TRUE))
.setProperty("duration", simple("Forwarding request to ${property.datacentral} datacentral"))
.choice().when().simple("${property.Tracked} == true").bean(Util.class, "dura-tion").end()
.bean(Util.class, "tracker")
.bean(Util.class, "foer")
.to(Util.getProperty("sdc.url"))
.bean(Util.class, "efter")
.convertBodyTo(Document.class)
.setProperty("duration", simple("Receiving response from ${proper-ty.datacentral} datacentral"))
.choice().when().simple("${property.Tracked} == true").bean(Util.class, "dura-tion").end()
.bean(Util.class, "tracker")
.setProperty(SoapError.FAULT, xpath("/soapenv:Envelope/soapenv:Body/soapenv:Fault/faultstring/text()", String.class).namespace("soapenv", Namespace.SOAP))
.end();
我的 convertBodyTo 失败了,因为它突然变成了一个流。
解决方案
好的,很短
调用端点后的响应类型为 org.apache.camel.converter.stream.CachedOutputStream 我尝试将 CachedOutputStream 转换为字符串。
String body = exchange.getIn().getBody(String.class);
这不是可读的字符串,而是许多特殊字符。
弗兰克:-)
推荐阅读
- jquery - Magicline 边框动画 - 从活动类开始动画
- java - 尝试工作并由用户输入以更改值
- c# - 是否可以以编程方式启用基于服务器的 SharePoint 集成?
- python - 如何返回,因为它在列表中具有最大 Sum 值
- javascript - Angular 反应式表单提交事件
- bash - 获取 bash 函数的除前 N 个参数之外的所有参数
- video-streaming - ThingsBoard 仪表板的视频源
- javascript - 具有多个条件的 for 循环不起作用(JS)
- vb.net - 为什么关闭打开应用程序后设置不保存,使用vb.net
- java - 使用 PATCH 方法删除列表的特定元素,该元素是另一个列表的元素。使用 dropwizard 编写