in cxf-soap/src/main/java/org/acme/cxf/soap/wsdl/MyWsdlRouteBuilder.java [63:87]
public void configure() throws Exception {
// CustomerService is generated with quarkus-maven-plugin:generate-code during the build
from("cxf:bean:customer")
.recipientList(simple("direct:${header.operationName}"));
from("direct:getCustomersByName").process(exchange -> {
String name = exchange.getIn().getBody(String.class);
MessageContentsList resultList = new MessageContentsList();
List<Customer> customersByName = customerRepository.getCustomersByName(name);
if (customersByName.isEmpty()) {
NoSuchCustomer noSuchCustomer = new NoSuchCustomer();
noSuchCustomer.setCustomerName(name);
throw new NoSuchCustomerException("Customer not found", noSuchCustomer);
}
resultList.add(customersByName);
exchange.getMessage().setBody(resultList);
});
from("direct:updateCustomer")
.process(exchange -> customerRepository.updateCustomer(exchange.getIn().getBody(Customer.class)));
}