ipe
ipe

Reputation: 81

No declaration for cxfEndpoint in Servicemix deployment

I am trying to get a CXF endpoint working on Servicemix 4. I have created a Spring archetype with a CXF endpoint and successfully installed it with Maven. Having run osgi:install - s mvn: it installs onto Servicemix but the logs are displaying:

 Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=springdm, 
 config=osgibundle:/META-INF/spring/*.xml))  
 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 21 in XML document 
 from URL [bundle://218.0:0/META-INF/spring/camel-context.xml] is invalid; nested exception is 
 org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no 
 declaration can be found for element 'cxf:cxfEndpoint'

I have built this route just on Camel before with the following in my context.xml file:

<beans ...
   xmlns:osgi="http://www.springframework.org/schema/osgi"
   xmlns:cxf="http://camel.apache.org/schema/cxf"
   xsi:schemaLocation="
   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
   http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
   http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
   http://cxf.apache.org/tranposrts/camel http://cxf.apache.org/tranposrts/camel.xsd">
   <import resource="classpath:META-INF/cxf/cxf.xml" />
<cxf:cxfEndpoint id="wspoc"
            address="http://localhost:8181/ws/ping"
            serviceClass="net.ja.smx.springdm.PongImpl" />
<camelContext xmlns="http://camel.apache.org/schema/spring">
  <route>
    <from uri="cxf:bean:wspoc"/>
    <to uri="activemq:helloQ" />
  </route>
</camelContext>

This is a clone of a working Camel context file but I cannot see why ServiceMix is throwing the error when it starts. The only difference is that the pom file does not use CXF as a dependency but it is in the section which I took from the online example.

I would be grateful for any pointers for any missing imports or corrections to the context file or anything that I ought to check for.

Many thanks.

Upvotes: 1

Views: 2265

Answers (1)

ipe
ipe

Reputation: 81

Shortly after posting, I discovered that I was missing the camel-cxf dependency in my POM file which causes this error. I also needed to make sure that it was the right version as this caused an error in ServiceMix finding the correct META.cxf file.

Upvotes: 2

Related Questions