Исключения фильтра сервлетов JAX-WS - PullRequest
2 голосов
/ 25 августа 2010

У меня есть клиент-серверное приложение, которое обменивается данными через SOAP. Серверное приложение - это приложение Java EE, которое предоставляет веб-службы с использованием JAX-WS. У меня есть настройка фильтра сервлета для выполнения определенных проверок перед вызовом службы.

Это все работает довольно хорошо, за исключением обработки исключений. Если я выбрасываю исключение из фильтра, оно возвращается клиенту как общее исключение сервера. Мне нужно найти способ распространения пользовательского исключения, содержащего конкретное сообщение, чтобы клиент мог отобразить сообщение пользователю.

Есть идеи?

1 Ответ

7 голосов
/ 26 августа 2010

Фильтр сервлетов не совсем подходит, если вы хотите отправить исключение в ответе SOAP, и я хотел бы рассмотреть возможность использования обработчика JAX-WS для проверки входящих сообщений (обработчики JAX-WS так или иначе относятся к JAX -WS услуги, что фильтры для сервлетов).

Frmo Работа с заголовками в SOAPHandlers JAX-WS :

Обработчики JAX-WS

В дополнение к поддержке веб развитие услуг, JAX-WS Framework (новейшее программирование на Java языковой API для создания на основе SOAP веб-сервисы и веб-сервис потребители) также предоставляет обработчик фреймворк. Обработчики предоставляют средства проверять и манипулировать входящими или исходящие сообщения SOAP (на обоих клиент, а также на стороне сервера). Oни действуют как мощные перехватчики сообщений который может выполнять массив функций такие как преобразование сообщений, Фильтрация контента, отслеживание и т. д. В Фактически, обработчики часто используются в среды выполнения для реализации веб спецификации сервиса и SOAP такие как WS-Security, WS-ReliableMessaging, и т. д. Обработчики JAX-WS похожи на Перехватчики EJB или фильтры сервлетов. Обработчики, такие как перехватчики и фильтры, побуждают разработчиков следовать цепи ответственности шаблон.

Ресурсы

Ссылки

...