我在应用程序上下文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指的是其他两个。如果我需要额外做任何事情,请告诉我。 请帮帮我。
答案 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>