Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1819

Make PhaseInterceptorChain.unwind() more defensive wrt handleFault() exceptions

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.1
    • 2.0.10, 2.1.4
    • Core
    • None

    Description

      Currently the PhaseInterceptorChain.unwind() method looks like this (logging omitted)

      while (iterator.hasPrevious())

      { Interceptor currentInterceptor = iterator.previous(); currentInterceptor.handleFault(message); }

      It would be better to defend against an exception in handleFault() as currently an exception thrown from a handleFault() stops the unwind.

      New proposed code...

      while (iterator.hasPrevious()) {
      Interceptor currentInterceptor = iterator.previous();
      try {
      currentInterceptor.handleFault(message);
      catch (Exception e)

      { LOG.log( Level.ERROR, "Exception in handleFault on interceptor " + currentInterceptor, e); }

      }

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dkulp Daniel Kulp
            mikequil Mike Quilleash
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment