Spring WS中的格式错误的XML验证

时间:2013-11-12 11:21:44

标签: xml spring validation

我在应用程序上下文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" ......>


    <context:component-scan base-package="com.webservice" />
    <sws:annotation-driven />

    <sws:static-wsdl id="Signal"
        location="/WEB-INF/wsdl/Signal.wsdl" />

    <bean id="validatingInterceptor"
        class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
        <property name="schema" value="/WEB-INF/Order.xsd" />
        <property name="validateRequest" value="true" />
        <property name="validateResponse" value="true" />
    </bean>
    <bean
        class="org.springframework.ws.soap.server.endpoint.SoapFaultMappingExceptionResolver">
        <property name="defaultFault" value="SERVER" />
        <property name="exceptionMappings">
            <props>
                <prop key="Exception">SERVER,Internal server error</prop>
            </props>
        </property>
    </bean>
</beans>

如果格式错误的请求来自soapUI,则阻止请求。但它适用于当地。当我在服务器中部署它时,它无法正常工作。另一件事,如果我搞砸下面提到的代码,仍然在本地工作。

<bean id="validatingInterceptor"
        class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
        <property name="schema" value="/WEB-INF/Order.xsd" />
        <property name="validateRequest" value="true" />
        <property name="validateResponse" value="true" />
    </bean>

请注意,我有3个xsds。 Order.xsd指的是其他两个。如果我需要额外做任何事情,请告诉我。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

以下代码中使用的参考XSD:

<property name="schemas" >
    <array>
            <value>/SubOrder.xsd</value>
            <value>/OrderTypes.xsd</value>
            <value>/Order.xsd</value>
         </array>
</property>

我使用过这两个罐子,我的问题已经解决了。

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.8.1</version>
</dependency>

 <dependency>
    <groupId>xalan</groupId>
    <artifactId>xalan</artifactId>
    <version>2.7.1</version>
</dependency>