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

WSRM - CloseSequenceResponse does not have acknowledgments

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.1.12
    • Fix Version/s: 3.1.15, 3.2.3, 3.2.4
    • Component/s: WS-* Components
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      In the RMOutInterceptor, the addAcknowledgements() method is called, only if it is for application message, or explictly required sequence acknowledgment:
      boolean isAck = constants.getSequenceAckAction().equals(action);
      if (isApplicationMessage || isAck) {....
      Bu the WSRM specification says that the destination MUST return acknowledgment for the received messages, when CloseSequence is received:
      Upon receipt of this message (CloseSequence), or subsequent to the RM Destination closing the Sequence of its own volition, the RM Destination MUST include a final SequenceAcknowledgement (within which the RM Destination MUST include the Final element) header block on any messages associated with the Sequence destined to the RM Source, including the CloseSequenceResponse message or on any Sequence fault Transmitted to the RM Source.

      CXF does not include final ack neither in CloseSequenceResponse, nor in TerminateSequenceResponse (which might not be sent, if client does not terminate). Therefore, the ack should be sent immediately to the CloseSequenceResponse.

        Attachments

          Activity

            People

            • Assignee:
              dkulp Daniel Kulp
              Reporter:
              gergand Gergan Dimitrov
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: