powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Axis: обработка исключений в Handler.onFault(...)
2 сообщений из 2, страница 1 из 1
Axis: обработка исключений в Handler.onFault(...)
    #33659366
AciD_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Подскажите, плз, как получить (где взять) объект Exception в Handler.onFault(MessageContext ctx), кот. привел к вызову этого метода?

Заранее благодарен.
...
Рейтинг: 0 / 0
Axis: обработка исключений в Handler.onFault(...)
    #33662547
AciD_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил проблему! :)
Так как exception порождается в сервисе, и из MessageContext можно получить объект сервиса, то
1. Просто сохраняем объект exception в HashMap внутри сервиса (ключом может быть Thread.currentThread().hashCode()):
Код: plaintext
1.
2.
3.
 private   void  saveFaultCause(Throwable ex) {
  _faults.put(  new   Long (Thread.currentThread().hashCode()), ex );
}

2. Создаем метод в классе сервиса для получения объекта exception:
Код: plaintext
1.
2.
3.
 public  Throwable getFaultCause() {
   return  _faults.get(  new   Long (Thread.currentThread().hashCode()) );
}

3. В onFault handler'a:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public   void  onFault(MessageContext msgCtx) {
   try  {
    MyService srv = (MyService) msgCtx.getAxisEngine().getApplicationSession().get(msgCtx.getTargetService());
    Throwable myException = srv.getFaultCause();
    // Делаем всё, что надо с объектом myException 
    // ...
  }  catch  (SOAPException e) {
    e.printStackTrace();
  }  catch  (AxisFault e) {
    e.printStackTrace();
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Axis: обработка исключений в Handler.onFault(...)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]