You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Niels Ull Harremoes (JIRA)" <ji...@apache.org> on 2016/04/07 10:08:25 UTC

[jira] [Created] (CAMEL-9829) camel-cxf namespace parser has hard dependency on jaxrs client

Niels Ull Harremoes created CAMEL-9829:
------------------------------------------

             Summary: camel-cxf namespace parser has hard dependency on jaxrs client
                 Key: CAMEL-9829
                 URL: https://issues.apache.org/jira/browse/CAMEL-9829
             Project: Camel
          Issue Type: Bug
          Components: camel-cxf
    Affects Versions: 2.17.0
            Reporter: Niels Ull Harremoes
            Priority: Minor


I am trying to declare an endpoint like this in my spring context:
{code}
    <cxf:cxfEndpoint  
         xmlns:cxf="http://camel.apache.org/schema/cxf"
         id="myEndpoint" address="${myUrl}"/>
{code}

I want to use it in a route like this: .to("cxf:bean:myEndpoint?dataFormat=PAYLOAD")

I am not using rs, but the cxf NamespaceHandler has a dependency CxfRsClientFactoryBeanDefinitionParser which again has a dependency on org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean so I get a java.lang.NoClassDefFoundError.

I found a workaround - not using the cxf namespace and declaring a bean of class org.apache.camel.component.cxf.CxfSpringEndpoint.
But the error was a bit hard to diagnose.

Could the NamespaceHandler lazy-load the xxxBeanDefinitionParser instances so that the class CxfRsClientFactoryBeanDefinitionParser doesn't get loaded if I don't have a cxf:rsClient tag?




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)