You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2010/05/05 08:27:50 UTC

svn commit: r941160 - /cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java

Author: dkulp
Date: Wed May  5 06:27:49 2010
New Revision: 941160

URL: http://svn.apache.org/viewvc?rev=941160&view=rev
Log:
[CXF-2798] Pick up addressing from wrapped operation

Modified:
    cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java

Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java?rev=941160&r1=941159&r2=941160&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ContextUtils.java Wed May  5 06:27:49 2010
@@ -788,8 +788,7 @@ public final class ContextUtils {
                         action = cachedAction;
                     }
                     if (action == null && ContextUtils.isRequestor(message)) {
-                        SoapOperationInfo soi = 
-                            bindingOpInfo.getExtensor(SoapOperationInfo.class);
+                        SoapOperationInfo soi = getSoapOperationInfo(bindingOpInfo);
                         action = soi == null ? null : soi.getAction();
                         action = StringUtils.isEmpty(action) ? null : action; 
                     }
@@ -828,6 +827,15 @@ public final class ContextUtils {
         return action;
     }
 
+    private static SoapOperationInfo getSoapOperationInfo(BindingOperationInfo bindingOpInfo) {
+        SoapOperationInfo soi = bindingOpInfo.getExtensor(SoapOperationInfo.class);
+        if (soi == null && bindingOpInfo.isUnwrapped()) {
+            soi = bindingOpInfo.getWrappedOperation()
+                .getExtensor(SoapOperationInfo.class);
+        }
+        return soi;
+    }
+
     /**
      * Get action from attributes on MessageInfo
      *