我们有一个 spring 应用程序,其中我们有 Web 服务,它将使用 PayloadRoot 和 SoapAction。现在我们已经在 webservice-ws-context.xml 中配置了如下代码
<bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping">
<property name="interceptors">
<list>
<bean class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor"/>
<bean id="validatingInterceptor" class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
<property name="schema" value="classpath:/xsd/common.xsd"/>
<property name="validateRequest" value="${uiconnect.ws.payload.validate.request}"/>
<property name="validateResponse" value="${uiconnect.ws.payload.validate.response}"/>
</bean>
</list>
</property>
</bean>
现在,我们想为肥皂动作添加代码,但是如果我们添加以下代码,它就不起作用了。那么,我们如何为这个 bean 赋予“id”属性并为特定的 Web 服务配置这个 bin。或者有没有其他方法来配置它?我尝试进行自定义端点映射,但对此没有帮助。
<bean class="org.springframework.ws.soap.server.endpoint.mapping.SoapActionAnnotationMethodEndpointMapping">
<property name="interceptors">
<list>
<bean class="org.springframework.ws.soap.server.endpoint.interceptor.SoapEnvelopeLoggingInterceptor"/>
<bean id="validatingInterceptor" class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
<property name="schema" value="classpath:/xsd/common.xsd"/>
<property name="validateRequest" value="${uiconnect.ws.payload.validate.request}"/>
<property name="validateResponse" value="${uiconnect.ws.payload.validate.response}"/>
</bean>
</list>
</property>
</bean>