You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2006/05/16 18:42:14 UTC

svn commit: r406984 - /webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java

Author: chinthaka
Date: Tue May 16 09:42:13 2006
New Revision: 406984

URL: http://svn.apache.org/viewcvs?rev=406984&view=rev
Log:
Adding back the changes, I have mixed in doing the refactoring, from http://issues.apache.org/jira/browse/AXIS2-704. Thanks David for pointing that out

Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java?rev=406984&r1=406983&r2=406984&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java Tue May 16 09:42:13 2006
@@ -2,6 +2,7 @@
 
 import com.ibm.wsdl.extensions.soap.SOAPConstants;
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.util.XMLUtils;
 import org.apache.axis2.wsdl.SOAPHeaderMessage;
 import org.apache.axis2.wsdl.WSDLConstants;
@@ -72,8 +73,7 @@
  *
  */
 
-public class WSDL11ToAxisServiceBuilder extends WSDLToAxisServiceBuilder{
-
+public class WSDL11ToAxisServiceBuilder extends WSDLToAxisServiceBuilder {
 
 
     private String portName;
@@ -839,7 +839,8 @@
                             Iterator keys = namespaces.keySet().iterator();
                             while (keys.hasNext()) {
                                 Object key = keys.next();
-                                if (! wsdl4jDefinition.getNamespaces().containsValue(namespaces.get(key))) {
+                                if (! wsdl4jDefinition.getNamespaces().containsValue(namespaces.get(key)))
+                                {
                                     wsdl4jDefinition.getNamespaces().put(key, namespaces.get(key));
                                 }
                             }
@@ -974,6 +975,19 @@
                             .readPolicyReference(unknown.getElement());
                     addPolicyRef(description, originOfExtensibilityElements,
                             policyRef);
+                } else if (AddressingConstants.Final.WSAW_USING_ADDRESSING.equals(unknown.getElementType()) ||
+                        AddressingConstants.Submission.WSAW_USING_ADDRESSING.equals(unknown.getElementType()))
+                {
+                    // Read the wsaw:UsingAddressing flag from the WSDL. It is only valid on the Port or Binding
+                    // so only recognise it as en extensibility elemtn of one of those.
+                    if (originOfExtensibilityElements.equals(PORT) || originOfExtensibilityElements.equals(BINDING))
+                    {
+                        if (Boolean.TRUE.equals(unknown.getRequired())) {
+                            axisService.setWSAddressingFlag(AddressingConstants.ADDRESSING_REQUIRED);
+                        } else {
+                            axisService.setWSAddressingFlag(AddressingConstants.ADDRESSING_OPTIONAL);
+                        }
+                    }
 
                 } else {
                     //TODO : we are ignored that.