Исключения фильтра сервлета JAX-WS

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

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

Любое понимание?


person graeds    schedule 25.08.2010    source источник


Ответы (1)


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

Frmo Работа с заголовками в JAX-WS Обработчики SOAP:

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

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

Ресурсы

использованная литература

person Pascal Thivent    schedule 26.08.2010
comment
Верно, он все-таки использовал неправильные инструменты. Это все проясняет. - person BalusC; 26.08.2010
comment
@BalusC По крайней мере, я так думаю. - person Pascal Thivent; 27.08.2010
comment
Спасибо! Я собираюсь попробовать это. - person graeds; 28.08.2010