2011-12-16 13 views
12

Sto cercando di integrare Apache CXF con Spring per creare un webservices RESTful. Ma mentre distribuisco l'applicazione sto ottenendo la seguente eccezione.Impossibile trovare Spring NamespaceHandler per lo spazio dei nomi dello schema XML [http://cxf.apache.org/jaxrs]

SEVERE: Context initialization failed 
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/jaxrs] 
Offending resource: ServletContext resource [/WEB-INF/beans.xml] 

Questo è il mio beans.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
     xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
     http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> 

    <import resource="classpath:META-INF/cxf/cxf.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
    <jaxrs:server id="empservice" address="/"> 
     <jaxrs:serviceBeans> 
      <ref bean="empservice"/> 
     </jaxrs:serviceBeans> 
    </jaxrs:server> 

</beans> 

e il mio pom.xml è

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.maventest</groupId> 
    <artifactId>Lab</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>Lab Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
     <javac.version>1.6</javac.version> 
     <spring.version>3.0.3.RELEASE</spring.version> 
     <junit.version>4.5</junit.version> 
     <servlet-api.version>2.5.0</servlet-api.version> 
     <cxf.version>2.4.0</cxf.version> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-frontend-jaxws</artifactId> 
      <version>${cxf.version}</version> 
     </dependency> 

     <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.ws.rs</groupId> 
     <artifactId>jsr311-api</artifactId> 
     <version>1.1</version> 
    </dependency> 


     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>org.springframework.web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>org.springframework.web.servlet</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.xmlbeans</groupId> 
      <artifactId>xmlbeans</artifactId> 
      <version>2.4.0</version> 
     </dependency> 

     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-mapper-asl</artifactId> 
      <version>1.9.2</version> 
     </dependency> 

     <dependency> 
      <groupId>net.sf.kxml</groupId> 
      <artifactId>kxml2</artifactId> 
      <version>2.2.2</version> 
     </dependency> 

    </dependencies> 
    <build> 
    <finalName>Lab</finalName> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.mortbay.jetty</groupId> 
       <artifactId>maven-jetty-plugin</artifactId> 
       <version>6.1.21</version> 
       <configuration> 
        <scanIntervalSeconds>10</scanIntervalSeconds> 
        <scanTargets> 
         <scanTarget>src/main/webapp/WEB-INF</scanTarget> 
         <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget> 
        </scanTargets> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

io non sono sicuro di cosa vaso o la configurazione che mi manca.

ho aggiunto CXF-rt-frontend-jaxrs vaso, ma ancora ottenere stessa eccezione

+0

Avete mai capito questo? Sto affrontando lo stesso problema e ho incluso entrambe le dipendenze di cxf-rt-frontend-jaxws e cxf-rt-frontend-jaxrs –

risposta

20

Secondo questo guide, si consiglia di provare ad aggiungere il seguente dipendenza nel vostro pom.

<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
    <version>${cxf.version}</version> 
</dependency> 
Problemi correlati