我在应用程序上下文 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 个 xsd。Order.xsd 指的是另外两个。请告诉我是否需要为此做任何额外的事情。请帮我。