Uploaded image for project: 'Spring Web Services'
  1. Spring Web Services
  2. SWS-385

Exceptions thrown using WS-Addressing result in Assert failure in Addressing10.addAddressingHeaders

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.1, 1.5.2
    • Fix Version/s: 1.5.3
    • Component/s: Core
    • Labels:
      None

      Description

      When using WS-Addressing if any interceptor or endpoint throws an Exception the implicit interceptor created by AbstractAddressingEndpointMapping will cause an Assertion failure because it has a null faultAction URI. When this happens no response is sent to the client.

      Exposing a faultActionURI to the user in AbstractAddressingEndpointMapping to be used to create the interceptor would fix the problem. If the user is implementing something that uses WS-BaseFaults this would be required anyhow, and the default behavior could be to use the responseAction if the faultAction is not set.

      1. patch.txt
        2 kB
        Brad Hendricks

        Activity

        bhendricks Brad Hendricks created issue -
        Hide
        bhendricks Brad Hendricks added a comment -

        I have attached a patch that exposes a URI to be used for the faultAction, defaulting to responseAction if not set.

        Show
        bhendricks Brad Hendricks added a comment - I have attached a patch that exposes a URI to be used for the faultAction, defaulting to responseAction if not set.
        bhendricks Brad Hendricks made changes -
        Field Original Value New Value
        Attachment patch.txt [ 14250 ]
        arjen.poutsma Arjen Poutsma made changes -
        Fix Version/s 1.5.3 [ 10982 ]
        arjen.poutsma Arjen Poutsma made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        I've implemented this, though in a more flexible way than the patch.

        The AbstractAddressingEndpointMapping now has a getFaultAction. By default, this returns the same action as the request, with the suffix Fault, but this can be overridden by subclassing or by using the fault() element on the @Action annotation.

        Show
        arjen.poutsma Arjen Poutsma added a comment - I've implemented this, though in a more flexible way than the patch. The AbstractAddressingEndpointMapping now has a getFaultAction. By default, this returns the same action as the request, with the suffix Fault, but this can be overridden by subclassing or by using the fault() element on the @Action annotation.
        arjen.poutsma Arjen Poutsma made changes -
        Resolution Fixed [ 1 ]
        Status In Progress [ 3 ] Resolved [ 5 ]
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        Closing issues in 1.5.3

        Show
        arjen.poutsma Arjen Poutsma added a comment - Closing issues in 1.5.3
        arjen.poutsma Arjen Poutsma made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        6d 23h 2m 1 Arjen Poutsma 01/Jul/08 9:57 PM
        In Progress In Progress Resolved Resolved
        3h 26m 1 Arjen Poutsma 02/Jul/08 1:23 AM
        Resolved Resolved Closed Closed
        19d 20h 43m 1 Arjen Poutsma 21/Jul/08 10:07 PM

          People

          • Assignee:
            arjen.poutsma Arjen Poutsma
            Reporter:
            bhendricks Brad Hendricks
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 1h
              1h
              Remaining:
              Remaining Estimate - 1h
              1h
              Logged:
              Time Spent - Not Specified
              Not Specified