Author: sanka
Date: Mon Jun  9 10:41:23 2008
New Revision: 18245
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=18245

Log:


Modified:
   
branches/wsas/java/2.3/axis2-1.4-patched/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
   
branches/wsas/java/2.3/rampart/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java

Modified: 
branches/wsas/java/2.3/axis2-1.4-patched/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
URL: 
http://wso2.org/svn/browse/wso2/branches/wsas/java/2.3/axis2-1.4-patched/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java?rev=18245&r1=18244&r2=18245&view=diff
==============================================================================
--- 
branches/wsas/java/2.3/axis2-1.4-patched/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
    (original)
+++ 
branches/wsas/java/2.3/axis2-1.4-patched/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
    Mon Jun  9 10:41:23 2008
@@ -473,7 +473,6 @@
 
         for (Iterator iterator = wsdl4jPorts.values().iterator(); 
iterator.hasNext();) {
             port = (Port) iterator.next();
-            System.err.println("Populating port : " + port.getName());
             // if the user has picked a port then we have to process only that 
port
             if ((this.portName == null) || 
(this.portName.equals(port.getName()))) {
                 // we process the port only if it has the same port type as 
the selected binding

Modified: 
branches/wsas/java/2.3/rampart/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
URL: 
http://wso2.org/svn/browse/wso2/branches/wsas/java/2.3/rampart/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?rev=18245&r1=18244&r2=18245&view=diff
==============================================================================
--- 
branches/wsas/java/2.3/rampart/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
  (original)
+++ 
branches/wsas/java/2.3/rampart/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
  Mon Jun  9 10:41:23 2008
@@ -47,6 +47,7 @@
 import org.apache.axis2.mex.om.Metadata;
 import org.apache.axis2.mex.om.MetadataReference;
 import org.apache.axis2.mex.om.MetadataSection;
+import org.apache.axis2.util.PolicyUtil;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.neethi.Policy;
@@ -1500,6 +1501,8 @@
         
         // OK .. now we try to figure out whether we can find an appropriate 
binding.
         AxisMessage message = messageContext.getAxisMessage();
+        Policy bindingPolicy = null;
+        
         if (message != null) {
                        SOAPEnvelope env = messageContext.getEnvelope();
                        if (env != null) {
@@ -1516,15 +1519,36 @@
                                        targetBinding = 
Utils.getSoap12Binding(service);
                                }
                                if (targetBinding != null) {
+                                       List policies = new ArrayList();
                                        AxisBindingOperation 
targetBindingOperation = Utils
                                                        
.getBindingOperation(targetBinding, operation);
-                                       AxisBindingMessage targetBindingMessage 
= Utils
-                                                       
.getBindingMessage(targetBindingOperation, message);
-                                       return 
targetBindingMessage.getEffectivePolicy();
+                                       if (targetBindingOperation != null) {
+                                               AxisBindingMessage 
targetBindingMessage = Utils.getBindingMessage(targetBindingOperation, message);
+                                               if (targetBindingMessage != 
null) {
+                                                               return 
targetBindingMessage.getEffectivePolicy();
+                                               } else {
+                                                       
policies.addAll(targetBindingOperation
+                                                                       
.getPolicySubject()
+                                                                       
.getAttachedPolicyComponents());
+                                               }
+                                       } else {
+                                               
policies.addAll(targetBinding.getPolicySubject().getAttachedPolicyComponents());
+                                       }
+                                       if (! policies.isEmpty()) {
+                                               bindingPolicy = 
PolicyUtil.getMergedPolicy(policies, service);
+                                       }
+                               }
+                       }
+                       
+                       Policy descriptionPolicy = message.getEffectivePolicy();
+                       if (descriptionPolicy != null) {
+                               if (bindingPolicy != null) {
+                                       return 
descriptionPolicy.merge(bindingPolicy);
+                               } else  {
+                                       return descriptionPolicy;
                                }
-
                        } else {
-                               return message.getEffectivePolicy();
+                               return bindingPolicy;
                        }
                }
                return null;

_______________________________________________
Wsas-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/wsas-java-dev

Reply via email to