В моем проекте я создал клиент webservice с Spring Web Services (2.0.4.RELEASE).Spring Webservice Клиент: не удается обработать ошибки SOAP
webServiceTemplate определяется в моей весенней конфигурации:
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<bean id="wsClient" class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="marshaller" ref="marshaller" />
<property name="unmarshaller" ref="marshaller" />
</bean>
Когда я вызываю службу (wsClient.marshalSendAndReceive(...)
) и возвращает SOAP Fault клиент вебсервис не признает. Он пытается настроить маркер и исключение ValidationException.
Я посмотрел исходный код Spring Web Service. В классе WebServiceTemplate существует метод protected boolean hasFault(WebServiceConnection connection, WebServiceMessage response)
. Но этот метод всегда возвращает false.
Я уже проверил этот вопрос: Java Spring Web Service Client Fault Handling
Служба отправляет ответ с кодом состояния HTTP 500. Так что это не проблема.
Есть ли у кого-нибудь идеи, как решить эту проблему?
Спасибо!
EDIT: приложение работает на Weblogic 10.3.5
Странно. Я бы отладил метод hasFault и посмотрел, что происходит. – jddsantaella