0

I have a Camel application for which the underlying http server is Undertow. This application is expected to ingest SOAP messages with large attachments. The host http server has an imposed limit to the maximum message size it will accept that is significantly below maximum message size. The limit is immutable for my purposes.

My proposed solution is to host an alternative http server within Camel to handle only these oversized requests. I was reviewing the "Platform Http" component but this appears to gain access to the underlying http server. So is it possible to use "Platform Http" to define and access a secondary http server, or will I need to write a custom component?

Summary of Objective - to expose http endpoint for SOAP with attachments exceeding the size limit imposed by underlying http server

1 Answer 1

0

Have you considered one of the other supported rest components?

From the camel rest docs

The following components support the REST consumer (Rest DSL):

  • camel-netty-http
  • camel-jetty
  • camel-servlet
  • camel-undertow
  • camel-platform-http
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks for the response @lance-java. The existing application uses the REST component against the underlying Undertow instance. I have attempted to manually instantiate a separate RestComponent and use a different provider, but regardless of the provider, any attempt to add the Component causes the application to fail on startup: RestComponent mimeRestComponent = new RestComponent(); //mimeRestComponent.setConsumerComponentName("camel-netty-http"); getContext().addComponent("mimerest", mimeRestComponent ); Note that setting Component name commented
After more research I understand it is not possible to have multiple RestConfigurations within a single CameContext, which explains the above behaviour.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.