cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jozef Tomek (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CXF-6519) WS-RM - Invalid response for CloseSequence
Date Wed, 05 Aug 2015 09:41:04 GMT
Jozef Tomek created CXF-6519:
--------------------------------

             Summary: WS-RM - Invalid response for CloseSequence
                 Key: CXF-6519
                 URL: https://issues.apache.org/jira/browse/CXF-6519
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
            Reporter: Jozef Tomek


When endpoint is running with WS-RM 1.1/1.2 enabled, after CloseSequence control message (org.apache.cxf.ws.rm.RM11Constants.CLOSE_SEQUENCE_ACTION)
is received, invalid empty response (202 Accepted with no content) is returned instead of
CloseSequenceResponse.

This in turn means that source RM endpoint won't proceed to terminate the sequence which results
in sequence metadata not being being removed (as part of sequence termination handling) from
RMTxStore if it's used on either side.

I suspect one particular line to be causing the issue - see line 172 where I believe RM11Constants.CLOSE_SEQUENCE_ACTION
should be used instead of RM11Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION:
{code:title=org.apache.cxf.ws.rm.RMInInterceptor|borderStyle=solid}
 85     protected void handle(Message message) throws SequenceFault, RMException {
                ...
 166         } else {
 167             rme.receivedControlMessage();
 168             if (RM10Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)
 169                 || RM11Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)) {
 170                 processAcknowledgments(rme, rmps, protocol);
 171             } else if (RM10Constants.CLOSE_SEQUENCE_ACTION.equals(action)
 172                 || RM11Constants.SEQUENCE_ACKNOWLEDGMENT_ACTION.equals(action)) {
 173                 processSequence(destination, message);
 174             } else if ((RM10Constants.CREATE_SEQUENCE_ACTION.equals(action)
 175                 || RM11Constants.CREATE_SEQUENCE_ACTION.equals(action)) && !isServer)
{
 176                 LOG.fine("Processing inbound CreateSequence on client side.");
 177                 Servant servant = rme.getServant();
 178                 Object csr = servant.createSequence(message);
 179                 Proxy proxy = rme.getProxy();
 180                 proxy.createSequenceResponse(csr, protocol);
 181                 return;
 182             }
 183         }
 184         
 185         assertReliability(message);
 186     }
{code}

I found the issue on v2.7.14, but I think the issue is present on all versions (since I see
suspected code present in all versions)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message