apache-camelcxfopenapicxfrscamel-cxf

OpenApi integrate with apache camel-cxfrs


i want to generate openApi documentation based on my cxf services. i used the following resources: https://cxf.apache.org/docs/openapifeature.html when I start the service without using camel-cxfrs - everything works as it should, openapi.json is generated and swagger-ui works, but when using camel-cxfrs - apache camel intercepts the openapi url and tries to process I have the following blueprint:

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
           xmlns:cxf="http://cxf.apache.org/blueprint/core"
           xmlns:jaxrs="http://cxf.apache.org/blueprint/jaxrs"
           xmlns:camelcxf="http://camel.apache.org/schema/blueprint/cxf"
           xsi:schemaLocation="
             http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
             http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd
              http://cxf.apache.org/blueprint/jaxrs http://cxf.apache.org/schemas/blueprint/jaxrs.xsd
             ">
  <!-- JAXRS providers -->
  <bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider" />

  <!-- CXF OpenApiFeature -->
  <bean id="openApiFeature" class="org.apache.cxf.jaxrs.openapi.OpenApiFeature"/>

  <camelcxf:rsServer id="myRsServer" address="/service"
                     serviceClass="foo.MyService">
    <camelcxf:providers>
      <ref component-id="jsonProvider" />
    </camelcxf:providers>
    <camelcxf:features>
      <ref component-id="openApiFeature" />
    </camelcxf:features>
  </camelcxf:rsServer>


  <camelContext xmlns="http://camel.apache.org/schema/blueprint">

    <route>
      <from uri="cxfrs:bean:myRsServer"/>
      ....
    </route>

  </camelContext>
</blueprint>

stack used:

is there a way to ignore certain urls (like the same cxf/service/openapi.json) in apache camel?


Solution

  • fixed in next versions of camel and cxf https://issues.apache.org/jira/browse/CAMEL-12957