[ https://issues.apache.org/jira/browse/CXF-6519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colm O hEigeartaigh closed CXF-6519. ------------------------------------ > 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 > Affects Versions: 2.7.17 > Reporter: Jozef Tomek > Assignee: Akitoshi Yoshida > Fix For: 2.7.18 > > > 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)