Преобразовать CachedOutputStream в строку - PullRequest
0 голосов
/ 28 июня 2019

Преобразовать 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);

I dk.bankconnect.hub.Util efter FJA efter strengner:

-0phjA / h`FhI [G <, Zf = Rϝs # O ~ # Gt </p>

Как преобразовать 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 не работает, потому что он внезапно становится потоком.

1 Ответ

0 голосов
/ 29 июня 2019

Хорошо, очень коротко

Ответ после вызова конечной точки имеет тип org.apache.camel.converter.stream.CachedOutputStream Я попытался преобразовать CachedOutputStream в строку.

Stringbody = exchange.getIn (). getBody (String.class);

Это не строка для чтения, а много специальных символов.

Frank: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...