В моем проекте я создал клиент веб-сервиса с Spring Web Services (2.0.4.RELEASE).
Шаблон 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, которую клиент веб-службы не распознает.Он пытается выполнить маршалинг, и создается исключение ValidationException.
Я посмотрел исходный код веб-службы Spring.В классе WebServiceTemplate существует метод protected boolean hasFault(WebServiceConnection connection, WebServiceMessage response)
.Но этот метод всегда возвращает false.
Я уже проверял этот вопрос: Обработка ошибок клиента веб-службы Java Spring
Служба отправляет ответ с кодом состояния HTTP 500. Так что это не проблема.
Кто-нибудь есть идеи, как решить эту проблему?
Спасибо!
РЕДАКТИРОВАТЬ: приложение работает на Weblogic 10.3.5