Skip to content

osgi - camel-cxf-transport is missing OSGi Import Package causing CNF errors for CxfHeaderHelper #566

Open
@paul-mcculloch

Description

@paul-mcculloch

[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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions