JAXWS的Spring 3.1命名空间问题

时间:2013-08-22 08:29:10

标签: java spring jax-ws

我尝试使用Spring 3.1实现Web服务。但是在启动服务器时出错,我真的不知道原因:

2013-08-22 09:58:03,602 [main] ERROR org.apache.catalina.core.ContainerBase[Catalina].  [localhost].[/OcrMonitor] - Servlet /OcrMonitor threw load() exception
org.xml.sax.SAXParseException; lineNumber: 29; columnNumber: 33; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'wss:binding'.

我已经搜索了几个小时来解决这个问题,但没有发现什么可以帮助我。

这是applicationContext.xml的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:task="http://www.springframework.org/schema/task"
    xmlns:ws= "http://jax-ws.dev.java.net/spring/core"
    xmlns:wss="http://jax-ws.dev.java.net/spring/servlet"       
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
        http://www.springframework.org/schema/mvc   http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd
        http://jax-ws.dev.java.net/spring/core http://jax-ws.java.net/spring/core.xsd
        http://jax-ws.dev.java.net/spring/servlet http://jax-ws.java.net/spring/servlet.xsd">

    <context:annotation-config />
    <context:component-scan base-package="com.xyz" />

    <tx:annotation-driven />
    <mvc:annotation-driven />
    <task:annotation-driven />  

  <wss:binding url="/iceBoxWS" >
    <wss:service>
        <ws:service bean="#IceBoxWs" >
            <ws:handlers>
                <ref bean="IceBoxBo" />
            </ws:handlers>
        </ws:service>
    </wss:service>
  </wss:binding>

  <bean id="IceBoxWs" class="com.xyz.web.service.IceBoxWS">
    <property name="iceBoxBo" ref="IceBoxBo" />
  </bean>

  <bean id="IceBoxBo" class="com.xyz.web.service.IceBoxServiceImpl"/> 

pom.xml的相关部分:

<!-- Spring -->

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.1.1.RELEASE</version>
    <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>                            
    </exclusions>                       
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>3.1.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>3.1.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jms</artifactId>
    <version>3.1.1.RELEASE</version>
</dependency>               

<!-- JAX-WS --> 
<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.2.3</version>
</dependency>

<!-- Library from java.net, integrate Spring with JAX-WS --> 
<dependency>
    <groupId>org.jvnet.jax-ws-commons.spring</groupId>
    <artifactId>jaxws-spring</artifactId>
    <version>1.8</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </exclusion>
        <exclusion>
            <groupId>com.sun.xml.stream.buffer</groupId>
            <artifactId>streambuffer</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.jvnet.staxex</groupId>
            <artifactId>stax-ex</artifactId>
        </exclusion>
    </exclusions>
</dependency>

任何想法或帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

看起来你错过了一个罐子;从你的pom看起来像 xbean-spring-2.8.jar 。下载项目中的依赖项并尝试重新构建