PayloadRootとSoapActionの両方を使用するWebサービスがあるSpringアプリケーションがあります。これで、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>
ここで、soapアクションのコードを追加したいのですが、次のコードを追加すると機能しません。したがって、このBeanに「id」属性を指定し、特定のWebサービス用にこのビンを構成する方法を説明します。または、これを構成する他の方法はありますか?カスタムエンドポイントマッピングを作成しようとしましたが、これに関するヘルプは利用できません。
<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>