2017-01-21 20 views
0

Мне нужно получить XML документы, которые отправляются и принимаются в моем приложении Spring WS. Приложение отправляет SOAP запрос на сервер (документ один) и получает ответ (документ два), и мне нужно сохранить эти документы для последующего отображения в моей системе администрирования.Как получить документы запроса/ответа XML SOAP в Spring WS?

Есть ли способ поймать эти документы?

ответ

0

Вы можете создать класс перехватчика Endpoint, реализовав интерфейс EndpointInterceptor. Это имеет методы обработки запросов/ответов/сбоев. Таким образом, вы можете захватить весь запрос & откликов XML и обработать его, как хотите.

Убедитесь, что вы правильно определили компоненты.

<bean id="rootEndpointMapping" 
 
\t \t class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping"> 
 
\t <property name="interceptors"> 
 
\t \t <list> 
 
\t \t \t <ref bean="commonInterceptor" /> 
 
\t \t </list> 
 
\t </property> 
 
</bean> 
 

 
<bean id="commonInterceptor" class="com.foo.Xyz" /> 
 

 
<bean id="messageReceiver" 
 
\t \t class="org.springframework.ws.soap.server.SoapMessageDispatcher"> 
 
\t <property name="endpointMappings"> 
 
\t \t <list> 
 
\t \t \t <ref bean="rootEndpointMapping" /> 
 
\t \t </list> 
 
\t </property> 
 
\t <property name="endpointAdapters"> 
 
\t \t ... 
 
\t </property> 
 
</bean>

Смежные вопросы