[CXF-5735] Add AckRequested action handling Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/21bfb9ab Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/21bfb9ab Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/21bfb9ab
Branch: refs/heads/master Commit: 21bfb9ab922392df0ffb93f0aacbc57ecff94fd3 Parents: abfbb35 Author: dsosnoski <[email protected]> Authored: Thu May 8 19:00:41 2014 +1200 Committer: dsosnoski <[email protected]> Committed: Thu May 8 19:00:41 2014 +1200 ---------------------------------------------------------------------- .../apache/cxf/ws/rm/soap/RMSoapInInterceptor.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/21bfb9ab/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInInterceptor.java b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInInterceptor.java index 29288b8..1c939ab 100644 --- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInInterceptor.java +++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInInterceptor.java @@ -283,6 +283,8 @@ public class RMSoapInInterceptor extends AbstractSoapInterceptor { } } else if (consts.getSequenceAckAction().equals(action)) { boi = bi.getOperation(consts.getSequenceAckOperationName()); + } else if (consts.getAckRequestedAction().equals(action)) { + boi = bi.getOperation(consts.getAckRequestedOperationName()); } else if (consts.getTerminateSequenceAction().equals(action)) { boi = bi.getOperation(consts.getTerminateSequenceOperationName()); } else if (RM11Constants.INSTANCE.getTerminateSequenceResponseAction().equals(action)) { @@ -295,10 +297,15 @@ public class RMSoapInInterceptor extends AbstractSoapInterceptor { boi = bi.getOperation(RM11Constants.INSTANCE.getCloseSequenceOperationName()); isOneway = false; } - assert boi != null; - exchange.put(BindingOperationInfo.class, boi); - exchange.put(OperationInfo.class, boi.getOperationInfo()); - exchange.setOneWay(isOneway); + + // make sure the binding information has been set + if (boi == null) { + LOG.fine("No BindingInfo for action " + action); + } else { + exchange.put(BindingOperationInfo.class, boi); + exchange.put(OperationInfo.class, boi.getOperationInfo()); + exchange.setOneWay(isOneway); + } // Fix requestor role (as the client side message observer always sets it to TRUE) // to allow unmarshalling the body of a server originated TerminateSequence request.
