Moezgadjo
Moezgadjo

Reputation: 81

REST CXF and Spring cxf-extension-jaxrs-binding File not found exception?

i'm trynig to develop a REST web service using CXF 2.6.0 and spring 2.5.6 my CXF maven dependancy in the pom.xml are :

<dependency>
  <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-rs-extension-providers</artifactId>
  <version>2.6.0</version>
   </dependency>

<dependency>
  <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-rs-extension-search</artifactId>
  <version>2.6.0</version>
</dependency>

I'am using Spring 2.5.6 and i have declared my web service in the applicationcontext.xml spring file :

<jaxrs:server id="restContainer" address="/sav">
    <jaxrs:serviceBeans>
        <ref bean="wssav"/>
    </jaxrs:serviceBeans>
</jaxrs:server>

 <import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

And i have declared my Web service into web.xml file by this code :

<servlet>
    <servlet-name>CXFServlet</servlet-name>

    <servlet-class>
        org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

when i deploy my project on tomcat i got this exception for the second file of import in applicationcontext.xml file :

    java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf-extension-jaxrs-binding.xml] cannot be opened because it does not exist 

Upvotes: 8

Views: 17240

Answers (4)

Feng Zhang
Feng Zhang

Reputation: 1960

In applicationContext.xml, comment out the below imports works for me in cxf 3.1.10. import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml

Upvotes: 0

Joy Vazapully
Joy Vazapully

Reputation: 1

The file META-INF/cxf/cxf-extension-jaxrs-binding.xml is available in the below artifact.

<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>2.2.7</version>

Upvotes: 0

DblQt
DblQt

Reputation: 131

Try removing the line that imports cxf-extension-jaxrs-binding.xml. The other 2 xml files are in the cxf-X.Y.Z.jar. For me that is cxf-2.7.7.jar.

Upvotes: 1

ndeverge
ndeverge

Reputation: 21564

According to this, this file is no longer required for cxf > 2.4.x.

Upvotes: 12

Related Questions