in rest-cxf-opentelemetry/rest-cxf-otel-odd/src/main/java/org/apache/camel/example/springboot/cxf/otel/CamelRouter.java [36:61]
public void configure() throws Exception {
//very raw way, just to handle the validation responses
onException(BeanValidationException.class)
.handled(true)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(Response.Status.BAD_REQUEST.getStatusCode()))
.setBody(simple("${exchangeProperty.CamelExceptionCaught.getMessage()}"));
// @formatter:off
from("cxfrs:/api?" +
"resourceClasses=org.apache.camel.example.springboot.cxf.otel.OddService" +
"&bindingStyle=SimpleConsumer" +
"&providers=jaxrsProvider,openTelemetryProvider" +
"&loggingFeatureEnabled=true")
.to("log:camel-cxf-log?showAll=true")
.setHeader(Exchange.BEAN_METHOD_NAME, simple("${header.operationName}"))
.bean(OddServiceImpl.class);
from("direct:register").routeId("odd-register")
.marshal().json(JsonLibrary.Jackson)
.setHeader(CxfConstants.HTTP_METHOD, constant("PUT"))
.setHeader(CxfConstants.CONTENT_TYPE, constant(MediaType.APPLICATION_JSON))
.setHeader(SERVICE_HEADER_NAME, constant("odd"))
.toD("cxfrs:{{service.random.url}}/services/api/register");
// @formatter:on
}