Author: amilas
Date: Mon Feb 14 11:05:51 2011
New Revision: 1070439

URL: http://svn.apache.org/viewvc?rev=1070439&view=rev
Log:
commit the patch for AXIS2-4671

Modified:
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java?rev=1070439&r1=1070438&r2=1070439&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
 Mon Feb 14 11:05:51 2011
@@ -1598,6 +1598,8 @@ public class MessageContext extends Abst
         AxisBindingMessage bindingMessage =
                (AxisBindingMessage) 
getProperty(Constants.AXIS_BINDING_MESSAGE);
 
+        AxisBinding binding;
+
         // If AxisBindingMessage is not set, try to find the binding message 
from the AxisService
         if (bindingMessage == null) {
                bindingMessage = findBindingMessage();
@@ -1605,7 +1607,10 @@ public class MessageContext extends Abst
 
         if (bindingMessage != null) {
             return bindingMessage.getEffectivePolicy();
-        // If we can't find the AxisBindingMessage, then try the AxisMessage
+            // If we can't find the AxisBindingMessage, then try the 
AxisBinding
+        } else if ((binding = findBinding()) != null) {
+            return binding.getEffectivePolicy();
+            // If we can't find the AxisBindingMessage, then try the 
AxisMessage
         } else if (axisMessage != null) {
                        return axisMessage.getEffectivePolicy();
         } else {
@@ -1621,6 +1626,19 @@ public class MessageContext extends Abst
         }
     }
 
+    private AxisBinding findBinding() {
+        if (axisService != null) {
+            if (axisService.getEndpointName() != null) {
+                AxisEndpoint axisEndpoint = axisService
+                        .getEndpoint(axisService.getEndpointName());
+                if (axisEndpoint != null) {
+                    return axisEndpoint.getBinding();
+                }
+            }
+        }
+        return null;
+    }
+
     private AxisBindingMessage findBindingMessage() {
        if (axisService != null && axisOperation != null ) {
                        if (axisService.getEndpointName() != null) {


Reply via email to