Description
[Originally logged as https://issues.apache.org/jira/browse/CAMEL-20430 but closed with instructions to log here]
o.a.c.c.cxf.transport.message.CxfMessageHelper.getCxfInMessage() references o.a.c.c.cxf.common.header.CxfHeaderHelper but the manifest doesn't import this package.
This triggers "java.lang.ClassNotFoundException: org.apache.camel.component.cxf.common.header.CxfHeaderHelper not found by org.apache.camel.camel-cxf-transport"
This looks to have ben caused by the split of camel-cxf into multiple packages in 3.18.
I think the issue is in the camel-cxf-transport pom .xml which includes:
<camel.osgi.import>
!org.apache.camel.component.cxf.*,
i.e. explicitly excludes the parent package of CxfHeaderHelper
This can be worked around, in Karaf at least, by using the 'wrap' feature to modify the Manifest on the fly. I am using a hacked version of the camel-cxf feature which replaces
mvn:org.apache.camel/camel-cxf-transport/3.22.1
with
wrap:mvn:org.apache.camel/camel-cxf-transport/3.22.1/$DynamicImport-Package=org.apache.camel.component.cxf.common.header&Bundle-SymbolicName=org.apache.camel.camel-cxf-transport-patched&overwrite=merge