如何在Spring中配置jax-ws Handler?

时间:2013-02-22 03:54:36

标签: web-services jax-ws

我根据jax-ws API集成jax-ws与Spring,但我在我的webservice项目中得到一个例外,这里是API站点:http://jax-ws-commons.java.net/spring/,我的项目中有相同的配置xml,但我得到了一个例外如下:

    Caused by: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'handlers'                   is not allowed to appear in element 'ws:service'.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)

谁可以给我解决方案?

1 个答案:

答案 0 :(得分:4)

给出的示例是错误的,并且对于架构无效。处理程序不是属性,而是嵌套元素。像这样使用它:

<?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:wss="http://jax-ws.dev.java.net/spring/servlet"
    xmlns:ws="http://jax-ws.dev.java.net/spring/core"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://jax-ws.dev.java.net/spring/servlet http://jax-ws.dev.java.net/spring/servlet.xsd http://jax-ws.dev.java.net/spring/core http://jax-ws.dev.java.net/spring/core.xsd">


 <wss:binding url="/services/demo">
     <wss:service>
         <ws:service bean="#demoEndpoint">
             <ws:handlers>
                 <ref bean="demoHandler"/>
             </ws:handlers>
         </ws:service>
     </wss:service>
 </wss:binding>
</bean>