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
      *


Reply via email to