Spring-WS: преобразование ошибок SOAP в конкретные исключения

При использовании Spring-WS в качестве клиента SOAP мне трудно преобразовывать входящие сбои в их конкретные исключения Java.

Например, если операция веб-службы, которую я вызываю, может вернуть ClientNotFoundFault и, скажем, InvalidAmountFault, могу ли я заставить Spring-WS генерировать исключение ClientNotFoundException или InvalidAmountException?

Может ли Spring-WS генерировать что-то отличное от SoapFaultClientException?

Я могу сделать это наоборот, когда сам пишу веб-службу. Там, используя SoapFaultMappingExceptionResolver, я могу легко преобразовать исключения в эквивалентные им ошибки. Я просто не мог найти ничего о том, чтобы сделать это при написании клиента ...

Я использую Spring-WS 2.1.0.RELEASE с JDK 1.7.6

Спасибо и дайте мне знать, если я недостаточно понимаю или вам нужен пример кода.


person David Caissy    schedule 07.09.2012    source источник


Ответы (1)


На стороне клиента нет эквивалентного преобразователя. Интерфейс преобразователя уже готов для написания аналогичного картографа. Должно быть очень просто держать карту кодов ошибок и классов исключений.

См. Org.springframework.ws.client.core.FaultMessageResolver

В настоящий момент это реализуется SoapFaultMessageResolver, который просто помещает сообщение об ошибке в SoapFaultClientException, которое вы видите.

person dan carter    schedule 08.10.2013