JAX-WS模式http://jax-ws.dev.java.net/spring/servlet.xsd 找不到

JAX-WS模式http://jax-ws.dev.java.net/spring/servlet.xsd 找不到,java,web-services,spring,jax-ws,Java,Web Services,Spring,Jax Ws,我正在用Spring框架实现JAX-WS 下面是我的Spring applicationContext.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ws="http://jax-ws.dev.java.net/spring/core" xmlns:wss="http://jax-ws.d

我正在用Spring框架实现JAX-WS

下面是我的Spring applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
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.0.xsd
    http://jax-ws.dev.java.net/spring/core
    http://jax-ws.dev.java.net/spring/core.xsd
    http://jax-ws.dev.java.net/spring/servlet
    http://jax-ws.dev.java.net/spring/servlet.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">

然而,Eclipse正在抱怨:

引用的文件包含错误()

经过调查,我找到了网址: 不存在。 相反,这似乎是为了: (您可以在浏览器中打开此链接)

因此,我从中更新了XSD模式URL 到

现在,我的applicationContext.xml如下所示:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
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.0.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
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">

实际上,通过这种更改,Eclipse错误消失了。 问题是在Tomcat 7中启动web服务后,我得到了以下运行时错误:

org.xml.sax.SAXParseException;行号:20;栏目号:29;架构_引用。4:未能读取架构文档“”,因为1)找不到该文档;2) 文件无法读取;3) 文档的根元素不是。 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:99) 请访问com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:433)

请告知

多谢各位。
关于,

您的问题是您将位置从更改为。尽管后一个是正确的url,但它与jaxws-spring.jar META-INF/spring.schema文件中定义的内容不匹配。该文件应具有以下内容

http\://jax-ws.dev.java.net/spring/core.xsd=spring-jax-ws-core.xsd
http\://jax-ws.dev.java.net/spring/servlet.xsd=spring-jax-ws-servlet.xsd
http\://jax-ws.dev.java.net/spring/local-transport.xsd=spring-jax-ws-local-transport.xsd
Spring使用这个映射来搜索类路径中的模式,而不是到internet。这些模式文件位于jaxws-spring.jar文件的根目录下


请看一看

可能不是你的案子。但在这种情况下,请清理并重新构建。原因是,如果这两个jar退出,将使用那里的旧springjar和xsd。希望这对其他人有帮助。。。。一般来说,由于许多原因会引发此异常。

您在项目中使用spring吗?我也遇到了同样的问题,但当我在maven依赖项中包含spring jaxws时,问题得到了解决,事实上,您可以在该jar中看到META-INF/spring.schemas文件正在重新定义XSD位置。

资源已经移动,最终配置应为:
xsi:schemaLocation="http://www.springframework.org/schema/beans        
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.2.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
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"
        default-lazy-init="true">

您应该真正努力在生产应用程序中使用本地模式,否则您的应用程序将受制于这些无关的第三方Web服务器。