アプリケーション コンテキスト 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 は他の 2 つを参照します。そのために何か特別なことをしなければならないかどうか教えてください。私を助けてください。