You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by am...@apache.org on 2011/02/14 12:05:52 UTC

svn commit: r1070439 - /axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java

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) {