Gergan Dimitrov created CXF-7508:
------------------------------------

             Summary: WSRM - CloseSequenceResponse does not have acknowledgments
                 Key: CXF-7508
                 URL: https://issues.apache.org/jira/browse/CXF-7508
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
    Affects Versions: 3.1.12
            Reporter: Gergan Dimitrov
            Priority: Blocker


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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to