Search code examples
apache-camelcxf

Calling secure webservice using CXF and Camel


I am trying to call a SOAP webservice on an https URL, where client authentification (SSL) is required.

Right now I am configuring my camel context using spring (switched away from blueprint) and creating my endpoints using the Camel CXF component with jetty as transport.

I can't find any good examples for this out there. Maybe I should be using http4 in stead of Jetty. I was trying to set up some Camel sslContextParameters, but I can't see this working with CXF and/or Jetty.

Can anyone point me in the right direction?


Solution

  • First, if you're invoking a SOAP service, you need to use the camel-cxf component, not camel-cxfrs. The latter is for REST endpoints.

    You say that client authorization is required, but you don't specify which type. Given that you talk about SSL, I will assume you need to configure both SSL and HTTP Auth.

    For SSL, have a look at: https://camel.apache.org/camel-configuration-utilities.html and https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Security_Guide/files/CamelCXF-SecureClient.html.

    For HTTP Basic Auth, have a look at the username and password options here: https://camel.apache.org/cxf.html.

    EDIT : RedHat CXF Security Guide 6.1