Hi Dennis, I noticed CloseSequence is sent out when the RM 1.1 endpoint is shutdown for 3.0.0-SNAPSHOT.
But it seems that this CloseSequence message is incorrectly generated, including the Sequence header. The message looks like when the endpoint is shutdown after sending two messages (see the Sequence header). <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <Action xmlns="http://www.w3.org/2005/08/addressing">http://docs.oasis-open.org/ws-rx/wsrm/200702/CloseSequence</Action> <MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:93e26fdb-cbe2-4204-ac8e-39ca3ad385a6</MessageID> <To xmlns="http://www.w3.org/2005/08/addressing">http://localhost:9000/SoapContext/GreeterPort</To> <ReplyTo xmlns="http://www.w3.org/2005/08/addressing"> <Address>http://www.w3.org/2005/08/addressing/anonymous</Address> </ReplyTo> <wsrm:Sequence soap:mustUnderstand="1" xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702"> <wsrm:Identifier>urn:uuid:9cbc8993-cdb7-4718-bec7-63d70889c142</wsrm:Identifier> <wsrm:MessageNumber>3</wsrm:MessageNumber> </wsrm:Sequence> </soap:Header> <soap:Body> <CloseSequence xmlns="http://docs.oasis-open.org/ws-rx/wsrm/200702" xmlns:ns2="http://www.w3.org/2005/08/addressing"> <Identifier>urn:uuid:9cbc8993-cdb7-4718-bec7-63d70889c142</Identifier> <LastMsgNumber>2</LastMsgNumber> </CloseSequence> </soap:Body> </soap:Envelope> It looks like RMCaptureOutInterceptor is doing this special handling for the CloseSequence action to include the sequence in its current RM context properties. 114 boolean isApplicationMessage = !RMContextUtils.isRMProtocolMessage(action); 115 boolean isPartialResponse = MessageUtils.isPartialResponse(msg); 116 RMConstants constants = protocol.getConstants(); 117 boolean isLastMessage = constants.getCloseSequenceAction().equals(action); 118 ... 145 if ((isApplicationMessage || (isLastMessage && invocationContext != null)) && !isPartialResponse) { 146 if (LOG.isLoggable(Level.FINE)) { 147 LOG.fine("inbound sequence: " + (null == inSeqId ? "null" : inSeqId.getValue())); 148 } … 178 } I am not sure why this special handling is needed. Not handling the CloseSequence message this way (e.g., attach the sequence to the context only for the app messages), I can see the following CloseSequence message is instead sent out. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <Action xmlns="http://www.w3.org/2005/08/addressing">http://docs.oasis-open.org/ws-rx/wsrm/200702/CloseSequence</Action> <MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:8c0f3805-934d-4f8a-862d-e8475d67d11b</MessageID> <To xmlns="http://www.w3.org/2005/08/addressing">http://localhost:9000/SoapContext/GreeterPort</To> <ReplyTo xmlns="http://www.w3.org/2005/08/addressing"> <Address>http://www.w3.org/2005/08/addressing/anonymous</Address> </ReplyTo> </soap:Header> <soap:Body> <CloseSequence xmlns="http://docs.oasis-open.org/ws-rx/wsrm/200702" xmlns:ns2="http://www.w3.org/2005/08/addressing"> <Identifier>urn:uuid:ce1619a6-a0b9-4d9b-901e-594c54e4a220</Identifier> <LastMsgNumber>2</LastMsgNumber> </CloseSequence> </soap:Body> </soap:Envelope> and this looks to be correct. Maybe there was a reason for the above code and you could comment on this? thanks. regards, aki
