This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch 3.1.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 409d1b095daa2db8c8351c6504876283345b2ca0
Author: Daniel Kulp <[email protected]>
AuthorDate: Mon Feb 26 12:23:19 2018 -0500

    [CXF-7508] TerminateSequenceResponse does not have acknowledgments
    
    (cherry picked from commit 134b173f26ccf58d60fe1bcaac9d253a1449feb9)
    
    # Conflicts:
    #   rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
---
 .../src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java   | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java 
b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
index 0807f3d..d6e4522 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOutInterceptor.java
@@ -111,7 +111,8 @@ public class RMOutInterceptor extends 
AbstractRMInterceptor<Message>  {
         // add Acknowledgements (to application messages or explicitly created 
Acknowledgement messages only)
         boolean isAck = constants.getSequenceAckAction().equals(action);
         boolean isClose = constants.getCloseSequenceAction().equals(action);
-        if (isApplicationMessage || isAck || isClose) {
+        boolean isTerminate = 
constants.getTerminateSequenceAction().equals(action);
+        if (isApplicationMessage || isAck || isClose || isTerminate) {
             AttributedURIType to = maps.getTo();
             assert null != to;
             addAcknowledgements(destination, rmpsOut, inSeqId, to);
@@ -120,8 +121,8 @@ public class RMOutInterceptor extends 
AbstractRMInterceptor<Message>  {
                 msg.remove(Message.EMPTY_PARTIAL_RESPONSE_MESSAGE);
                 isAck = true;
             }
-        } 
-        if (isAck || (constants.getTerminateSequenceAction().equals(action)
+        }
+        if (isAck || (isTerminate
                 && RM10Constants.NAMESPACE_URI.equals(rmNamespace))) {
             maps.setReplyTo(RMUtils.createNoneReference());
         }
@@ -165,6 +166,9 @@ public class RMOutInterceptor extends 
AbstractRMInterceptor<Message>  {
     }
     
     void addAcknowledgements(Destination destination, RMProperties rmpsOut, 
Identifier inSeqId,  AttributedURIType to) {
+        if (destination == null) {
+            return;
+        }
         for (DestinationSequence seq : destination.getAllSequences()) {
             if (!seq.sendAcknowledgement()) {
                 if (LOG.isLoggable(Level.FINE)) {

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to