You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Isaiah Inuwa <is...@moody.edu> on 2019/02/12 19:38:08 UTC

Content Unintentionally converted to Base64 String

Hello,

I have a simple app that proxies a SOAP API using JSON over REST/HTTP.  I am having trouble when trying to track metrics using the micrometer component.
This route works and returns a JSON string:

rest("/rest")
    .post("/verify")
        .type(AddressIn.class)
        .outType(AddressOut.class)
        .description("Verify an address.")
        .to("direct:verify");
from("direct:verify")
    .routeId("sendToSoap")
    .process(e -> {
        ...
    })
    .to(ExchangePattern.InOut,
            "cxf:"
            + CLNVERIFY_URL
            + "?wsdlURL=AddressCleanse.wsdl"
            + "&serviceClass=" + CLNBatchSoap.class.getName()
            + "&dataFormat=PAYLOAD"
            + "&loggingFeatureEnabled=true")
    .process(e -> {
        ...
    })
    .marshal().json(JsonLibrary.Jackson);


I am testing the micrometer component to track metrics. When I add the micrometer component to the end of the route, a Base64 string of the JSON object is returned.

    .marshal().json(JsonLibrary.Jackson)
    .to("micrometer:timer:soapRequestTime?action=stop");

I assume that this is because I am adding an extra component after the object is marshalled and before it's passed back to the previous route, but I didn't see anything in the documentation that would show that this is what would happen. Is there something simple I am missing, or do I need to just use the base64 component to convert it back to a UTF-8 string?

Thanks for your help,

Isaiah Inuwa