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 sc...@apache.org on 2008/02/15 16:27:06 UTC

svn commit: r628087 - in /webservices/axis2/trunk/java/modules: jaxws/src/org/apache/axis2/jaxws/message/databinding/ kernel/src/org/apache/axis2/wsdl/util/ metadata/src/org/apache/axis2/jaxws/description/ metadata/src/org/apache/axis2/jaxws/descriptio...

Author: scheu
Date: Fri Feb 15 07:27:05 2008
New Revision: 628087

URL: http://svn.apache.org/viewvc?rev=628087&view=rev
Log:
AXIS2-2968
Contributor:Tom Seelbach
Surface configuration parameters to the code pieces that create the WSDLWrapper.

Added:
    webservices/axis2/trunk/java/modules/metadata/test-resources/axis2.xml
    webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DBCwithReduceWSDLMemoryParmsTests.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLDefinitionWrapper.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperBasicImpl.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperSaveImpl.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
    webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImplTests.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java Fri Feb 15 07:27:05 2008
@@ -79,7 +79,9 @@
     // as long as you don't use one instance from two threads at the same time. 
     // ENABLE_ADV_POOLING is false...which means they are obtained from the JAXBContext instead of
     // from the pool.
-    private static boolean ENABLE_ADV_POOLING = false;
+    private static boolean ENABLE_MARSHALL_POOLING = false;
+    private static boolean ENABLE_UNMARSHALL_POOLING = true;
+    private static boolean ENABLE_INTROSPECTION_POOLING = false;
 
     // The maps are freed up when a LOAD FACTOR is hit
     private static int MAX_LOAD_FACTOR = 32;
@@ -376,7 +378,7 @@
      * @throws JAXBException
      */
     public static Unmarshaller getJAXBUnmarshaller(JAXBContext context) throws JAXBException {
-        if (!ENABLE_ADV_POOLING) {
+        if (!ENABLE_UNMARSHALL_POOLING) {
             if (log.isDebugEnabled()) {
                 log.debug("Unmarshaller created [no pooling]");
             }
@@ -407,8 +409,9 @@
         if (log.isDebugEnabled()) {
             log.debug("Unmarshaller placed back into pool");
         }
-        if (ENABLE_ADV_POOLING) {
+        if (ENABLE_UNMARSHALL_POOLING) {
             adjustPoolSize(umap);
+            unmarshaller.setAttachmentUnmarshaller(null);
             umap.put(context, unmarshaller);
         }
     }
@@ -422,7 +425,7 @@
      */
     public static Marshaller getJAXBMarshaller(JAXBContext context) throws JAXBException {
         Marshaller m = null;
-        if (!ENABLE_ADV_POOLING) {
+        if (!ENABLE_MARSHALL_POOLING) {
             if (log.isDebugEnabled()) {
                 log.debug("Marshaller created [no pooling]");
             }
@@ -455,8 +458,9 @@
         if (log.isDebugEnabled()) {
             log.debug("Marshaller placed back into pool");
         }
-        if (ENABLE_ADV_POOLING) {
+        if (ENABLE_MARSHALL_POOLING) {
             adjustPoolSize(mmap);
+            marshaller.setAttachmentMarshaller(null);
             mmap.put(context, marshaller);
         }
     }
@@ -470,7 +474,7 @@
      */
     public static JAXBIntrospector getJAXBIntrospector(JAXBContext context) throws JAXBException {
         JAXBIntrospector i = null;
-        if (!ENABLE_ADV_POOLING) {
+        if (!ENABLE_INTROSPECTION_POOLING) {
             if (log.isDebugEnabled()) {
                 log.debug("JAXBIntrospector created [no pooling]");
             }
@@ -502,7 +506,7 @@
         if (log.isDebugEnabled()) {
             log.debug("JAXBIntrospector placed back into pool");
         }
-        if (ENABLE_ADV_POOLING) {
+        if (ENABLE_INTROSPECTION_POOLING) {
             adjustPoolSize(imap);
             imap.put(context, introspector);
         }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLDefinitionWrapper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLDefinitionWrapper.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLDefinitionWrapper.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLDefinitionWrapper.java Fri Feb 15 07:27:05 2008
@@ -107,9 +107,19 @@
      * @param def    The WSDL Definition
      */
     public WSDLDefinitionWrapper(Definition def) {
+        if (log.isDebugEnabled() ) {
+            log.debug("WSDLDefinitionWrapper(Definition) entry");
+        }
         prepare(def, null);
     }
 
+    public WSDLDefinitionWrapper(Definition def,AxisConfiguration axisConfig ) {
+        if (log.isDebugEnabled() ) {
+            log.debug("WSDLDefinitionWrapper(Definition,AxisConfiguration) entry ");
+        }
+        setupMemoryParms(axisConfig);
+        prepare(def, null);
+    }
 
     /**
      * Constructor
@@ -118,6 +128,9 @@
      * @param wURL   The URL for the wsdl
      */
     public WSDLDefinitionWrapper(Definition def, URL wURL) {
+        if (log.isDebugEnabled() ) {
+            log.debug("WSDLDefinitionWrapper(Definition,URL) entry");
+        }
         prepare(def, wURL);
     }
 
@@ -132,6 +145,9 @@
      */
     public WSDLDefinitionWrapper(Definition def, URL wURL, boolean limitInMemory) {
         reduceWSDLMemoryCache = limitInMemory;
+        if (log.isDebugEnabled() ) {
+            log.debug("WSDLDefinitionWrapper(Definition,URL,boolean) entry");
+        }
         prepare(def, wURL);
     }
 
@@ -147,6 +163,9 @@
     public WSDLDefinitionWrapper(Definition def, URL wURL, int limitType) {
         reduceWSDLMemoryCache = true;
         reduceWSDLMemoryType = limitType;
+        if (log.isDebugEnabled() ) {
+            log.debug("WSDLDefinitionWrapper(Definition,URL,int) entry");
+        }
         prepare(def, wURL);
     }
 
@@ -159,28 +178,45 @@
      * @param axisCfg  The AxisConfiguration object, to be used to get configuration settings  
      */
     public WSDLDefinitionWrapper(Definition def, URL wURL, AxisConfiguration axisCfg) {
+        if (log.isDebugEnabled() ) {
+            log.debug("WSDLDefinitionWrapper(Definition,URL,AxisConfiguration) entry");
+        }
+
+        // determine what the setting for the memory optimization is
+        setupMemoryParms(axisCfg);
+        prepare(def, wURL);
+    }
+
+
+
+    private void setupMemoryParms( AxisConfiguration axisCfg) {
+        if (log.isDebugEnabled() ) {
+            log.debug("setupMemoryParms(AxisConfiguration) entry");
+        }
 
         // determine what the setting for the memory optimization is
-        Parameter param = axisCfg.getParameter(Constants.Configuration.REDUCE_WSDL_MEMORY_CACHE);
+        if (axisCfg != null) {
+            Parameter param = axisCfg.getParameter(Constants.Configuration.REDUCE_WSDL_MEMORY_CACHE);
                 
-        reduceWSDLMemoryCache = 
+            reduceWSDLMemoryCache = 
                 param != null && ((String) param.getValue()).equalsIgnoreCase("true");
 
 
-        param = axisCfg.getParameter(Constants.Configuration.REDUCE_WSDL_MEMORY_TYPE);
+            param = axisCfg.getParameter(Constants.Configuration.REDUCE_WSDL_MEMORY_TYPE);
                 
-        if (param != null) {
-            String value = (String) param.getValue();
+            if (param != null) {
+                String value = (String) param.getValue();
 
-            if (value != null) {
-                Integer i = new Integer(value);
-                reduceWSDLMemoryType = i.intValue(); 
+                if (value != null) {
+                    Integer i = new Integer(value);
+                    reduceWSDLMemoryType = i.intValue(); 
+                }
+            }
+            if (log.isDebugEnabled() ) {
+                log.debug("reduceWSDLMemoryCache:"+ reduceWSDLMemoryCache + ", reduceWSDLMemoryType:" + reduceWSDLMemoryType );
             }
         }
-
-        prepare(def, wURL);
     }
-
 
 
     /**

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperBasicImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperBasicImpl.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperBasicImpl.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperBasicImpl.java Fri Feb 15 07:27:05 2008
@@ -108,6 +108,9 @@
      * @param wURL   The URL where the WSDL is obtained
      */
     private void prepare(Definition def, URL wURL) {
+        if (isDebugEnabled) {
+            log.debug(myClassName + ".prepare()");
+        }
         
         wsdlDefinition = def;
         wsdlURL = wURL;

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java Fri Feb 15 07:27:05 2008
@@ -114,6 +114,9 @@
      * @param wURL   The URL where the WSDL is obtained
      */
     private void prepare(Definition def, URL wURL) {
+        if (isDebugEnabled) {
+            log.debug(myClassName + ".prepare()");
+        }
         wsdlDefinition = def;
         wsdlURL = wURL;
 
@@ -990,9 +993,9 @@
 
     public String toString() {
         if (wsdlDefinition != null) {
-            return wsdlDefinition.toString();
+            return this.getClass().getName() + "\n" + wsdlDefinition.toString();
         }
-        return "";
+        return this.getClass().getName();
     }
 
     //-------------------------------------------------------------------------

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperSaveImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperSaveImpl.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperSaveImpl.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperSaveImpl.java Fri Feb 15 07:27:05 2008
@@ -149,6 +149,9 @@
      * @param wURL   The URL where the WSDL is obtained
      */
     private void prepare(Definition def, URL wURL) {
+        if (isDebugEnabled) {
+            log.debug(myClassName + ".prepare()");
+        }
         
         wsdlDefinition = def;
         wsdlURL = wURL;

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java Fri Feb 15 07:27:05 2008
@@ -18,6 +18,7 @@
  */
 package org.apache.axis2.jaxws.description;
 
+import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.jaxws.ClientConfigurationFactory;
@@ -285,7 +286,36 @@
      */
     public static List<ServiceDescription> createServiceDescriptionFromDBCMap(
             HashMap<String, DescriptionBuilderComposite> dbcMap) {
-        return DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap);
+        return DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap, null);
+    }
+
+    /**
+     * Create a full ServiceDescription hierarchy on the SERVER side for EACH service implementation
+     * entry in the DescriptionBuilderComposite (DBC) map.  Note that the associated SERVER side
+     * Axis description objects are also created.  To create a single ServiceDescription hierarchy
+     * for a single service implementation class, use the factory method that takes a single class
+     * and returns a single ServiceDescription.
+     * <p/>
+     * A service implementation DBC entry is one that: (1) Is a class and not an interface (2)
+     * Carries a WebService or WebServiceProvider annotation.
+     * <p/>
+     * A DBC represents the information found in the service implementation class.  There will be
+     * other DBC entries in the map for classes and interfaces associated with the service
+     * implementation, such as super classes, super interfaces, fault classes, and such.
+     * <p/>
+     * Note that map may contain > 1 service implementation DBC.  A full ServiceDescriptionhierarchy
+     * will be created for each service implementation DBC entry.
+     * <p/>
+     * Note that each ServiceDescription will have exactly one EndpointDescription corresponding to
+     * each service implementation.
+     *
+     * @param dbcMap A HashMap keyed on class name with a value for the DBC for that classname
+     * @param configContext ConfigurationContext used to get WSDL Definition configuration parameters.
+     * @return A List of ServiceDescriptions with the associated SERVER side hierarchy created.
+     */
+    public static List<ServiceDescription> createServiceDescriptionFromDBCMap(
+             HashMap<String, DescriptionBuilderComposite> dbcMap,ConfigurationContext configContext) {
+         return DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap, configContext);
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java Fri Feb 15 07:27:05 2008
@@ -31,9 +31,7 @@
 
 import javax.wsdl.Definition;
 import javax.xml.namespace.QName;
-import javax.xml.ws.spi.WebServiceFeatureAnnotation;
-
-import java.io.InputStream;
+import org.apache.axis2.context.ConfigurationContext;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 import java.net.URL;
@@ -58,7 +56,11 @@
       */
 
     public DescriptionBuilderComposite() {
+        this((ConfigurationContext)null);
+    }
 
+    public DescriptionBuilderComposite(ConfigurationContext configContext) {
+        myConfigContext = configContext;
         methodDescriptions = new ArrayList<MethodDescriptionComposite>();
         fieldDescriptions = new ArrayList<FieldDescriptionComposite>();
         webServiceRefAnnotList = new ArrayList<WebServiceRefAnnot>();
@@ -72,6 +74,8 @@
     private URL wsdlURL = null;
     private WSDL4JWrapper wsdlWrapper = null;
 
+    private ConfigurationContext myConfigContext;
+    
     // Class-level annotations
     private WebServiceAnnot webServiceAnnot;
     private WebServiceProviderAnnot webServiceProviderAnnot;
@@ -736,6 +740,20 @@
         }
 
         sb.append(newLine);
+        sb.append("is Service Provider: " + isServiceProvider() );
+
+        sb.append(newLine);
+        sb.append("wsdlURL: " + getWsdlURL() );
+
+        sb.append(newLine);
+        sb.append("has wsdlDefinition?: ");
+        if (wsdlDefinition !=null) {
+            sb.append("true");
+        } else {
+            sb.append("false");
+        }
+
+        sb.append(newLine);
         sb.append("Interfaces: ");
         Iterator<String> intIter = interfacesList.iterator();
         while (intIter.hasNext()) {
@@ -838,7 +856,12 @@
 
         Definition wsdlDef = null;
         try {
-            wsdlWrapper = new WSDL4JWrapper(_wsdlURL);
+            if (log.isDebugEnabled() ) {
+                log.debug("new WSDL4JWrapper(" + _wsdlURL.toString() + ",ConfigurationContext" ); 
+            }
+            
+            wsdlWrapper = new WSDL4JWrapper(_wsdlURL, myConfigContext);
+            
             if (wsdlWrapper != null) {
                 wsdlDef = wsdlWrapper.getDefinition();
             }

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java Fri Feb 15 07:27:05 2008
@@ -219,7 +219,7 @@
         if (serviceImplClass != null) {
             JavaClassToDBCConverter converter = new JavaClassToDBCConverter(serviceImplClass);
             HashMap<String, DescriptionBuilderComposite> dbcMap = converter.produceDBC();
-            List<ServiceDescription> serviceDescList = createServiceDescriptionFromDBCMap(dbcMap);
+            List<ServiceDescription> serviceDescList = createServiceDescriptionFromDBCMap(dbcMap, null);
             if (serviceDescList != null && serviceDescList.size() > 0) {
                 serviceDesc = serviceDescList.get(0);
                 if (log.isDebugEnabled()) {
@@ -239,17 +239,19 @@
 
     /** @see org.apache.axis2.jaxws.description.DescriptionFactory#createServiceDescriptionFromDBCMap(HashMap) */
     public static List<ServiceDescription> createServiceDescriptionFromDBCMap(
-            HashMap<String, DescriptionBuilderComposite> dbcMap) {
+            HashMap<String, DescriptionBuilderComposite> dbcMap, ConfigurationContext configContext) {
+        if (log.isDebugEnabled()) {
+            log.debug("createServiceDescriptionFromDBCMap(Hashmap<String,DescriptionBuilderComposite>,ConfigurationContext " );
+        }
 
         List<ServiceDescription> serviceDescriptionList = new ArrayList<ServiceDescription>();
-
         for (Iterator<DescriptionBuilderComposite> nameIter = dbcMap.values()
                 .iterator(); nameIter.hasNext();) {
             DescriptionBuilderComposite serviceImplComposite = nameIter.next();
             if (isImpl(serviceImplComposite)) {
                 // process this impl class
-                ServiceDescription serviceDescription = new ServiceDescriptionImpl(
-                        dbcMap, serviceImplComposite);
+                ServiceDescriptionImpl serviceDescription = new ServiceDescriptionImpl(
+                        dbcMap, serviceImplComposite, configContext);
                 ServiceDescriptionValidator validator =
                         new ServiceDescriptionValidator(serviceDescription);
                 if (validator.validate()) {

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java Fri Feb 15 07:27:05 2008
@@ -147,6 +147,9 @@
     ServiceDescriptionImpl(URL wsdlURL, QName serviceQName, Class serviceClass, 
                            DescriptionBuilderComposite sparseComposite,
                            Object sparseCompositeKey) {
+        if (log.isDebugEnabled()) {
+            log.debug("ServiceDescriptionImpl(URL,QName,Class,DescriptionBuilderComposite,Object)");
+        }
         if (serviceQName == null) {
             throw ExceptionFactory.makeWebServiceException(Messages.getMessage("serviceDescErr0"));
         }
@@ -228,7 +231,7 @@
 
 
     /**
-     * Create a service-provider side ServiceDesci.  Create a service Description
+     * * Create a service-provider side ServiceDesciption.  Create a service Description
      * based on a service implementation class.  Note this is for test-only code; it should not be 
      * used in production code.  And it is being removed from the test code as well.
      *
@@ -236,6 +239,9 @@
      * @param serviceImplClass
      */
     ServiceDescriptionImpl(Class serviceImplClass, AxisService axisService) {
+        if (log.isDebugEnabled()) {
+            log.debug("ServiceDescriptionImpl(Class,AxisService)");
+        }
         composite = new DescriptionBuilderComposite();
         composite.setIsDeprecatedServiceProviderConstruction(true);
         composite.setIsServiceProvider(true);
@@ -250,6 +256,12 @@
         // TODO: The ServiceQName instance variable should be set based on annotation or default
     }
 
+    ServiceDescriptionImpl(
+                           HashMap<String, DescriptionBuilderComposite> dbcMap,
+                           DescriptionBuilderComposite composite) {
+        this(dbcMap, composite, null);
+    }
+    
     /**
      * Create a service-provider side Service description hierachy.  The hierachy is created entirely
      * from composite.  All relevant classes and interfaces referenced from the class represented by
@@ -259,8 +271,14 @@
      */
     ServiceDescriptionImpl(
             HashMap<String, DescriptionBuilderComposite> dbcMap,
-            DescriptionBuilderComposite composite) {
+            DescriptionBuilderComposite composite, 
+            ConfigurationContext configContext) {
         this.composite = composite;
+        
+        this.configContext = configContext;
+        if (log.isDebugEnabled()) {
+            log.debug("ServiceDescriptionImpl(HashMap<String,DescriptionBuilderComposite>,ConfigurationContext)");
+        }
 
         String serviceImplName = this.composite.getClassName();
 
@@ -628,6 +646,10 @@
         // Note that there may be no WSDL provided, for example when called from 
         // Service.create(QName serviceName).
 
+        if (log.isDebugEnabled()) {
+            log.debug("setupWsdlDefinition()");
+        }
+        
         if (composite.isServiceProvider()) {
 
             //  Currently, there is a bug which allows the wsdlDefinition to be placed
@@ -643,8 +665,16 @@
                     this.wsdlURL = composite.getWsdlURL();
 
                     try {
+                        if (log.isDebugEnabled() ) {
+                            if (configContext != null) {
+                                log.debug("new WSDL4JWrapper-ConfigContext not null1"); 
+                            } else {
+                                log.debug("new WSDL4JWrapper-ConfigContext null1"); 
+                            }
+                        }
                         this.wsdlWrapper = new WSDL4JWrapper(this.wsdlURL,
-                                                             composite.getWsdlDefinition());
+                                                             composite.getWsdlDefinition(), 
+                                                             configContext);
                     } catch (WSDLException e) {
                         throw ExceptionFactory.makeWebServiceException(
                                 Messages.getMessage("wsdlException", e.getMessage()), e);
@@ -681,17 +711,37 @@
                         if (log.isDebugEnabled()) {
                             log.debug("Get the wsdl definition from the SEI composite.");
                         }
+                        
                         this.wsdlURL = seic.getWsdlURL();
+                        if (log.isDebugEnabled() ) {
+                            if (configContext != null) {
+                                log.debug("new WSDL4JWrapper-ConfigContext not null2"); 
+                            } else {
+                                log.debug("new WSDL4JWrapper-ConfigContext null2"); 
+                            }
+                        }
                         this.wsdlWrapper =
-                                new WSDL4JWrapper(seic.getWsdlURL(), seic.getWsdlDefinition());
+                                new WSDL4JWrapper(seic.getWsdlURL(), 
+                                                  seic.getWsdlDefinition(), 
+                                                  configContext);
+                            
                     } else if (composite.getWsdlDefinition() != null) {
                         //set the wsdl def from the impl. class composite
                         if (log.isDebugEnabled()) {
                             log.debug("Get the wsdl definition from the impl class composite.");
                         }
+                        if (log.isDebugEnabled() ) {
+                            if (configContext != null) {
+                                log.debug("new WSDL4JWrapper-ConfigContext not null3"); 
+                            } else {
+                                log.debug("new WSDL4JWrapper-ConfigContext null3"); 
+                            }
+                        }
                         this.wsdlURL = composite.getWsdlURL();
                         this.wsdlWrapper = new WSDL4JWrapper(composite.getWsdlURL(),
-                                                             composite.getWsdlDefinition());
+                                                             composite.getWsdlDefinition(), 
+                                                             configContext);
+                                                            
                     } else {
                     	String wsdlLocation = null;
                     	// first check to see if the wsdlLocation is on the SEI
@@ -732,7 +782,15 @@
             //Deprecate this code block when MDQ is fully integrated
         } else if (wsdlURL != null) {
             try {
-                this.wsdlWrapper = new WSDL4JWrapper(this.wsdlURL);
+                if (log.isDebugEnabled() ) {
+                    if (configContext != null) {
+                        log.debug("new WSDL4JWrapper-ConfigContext not null4"); 
+                    } else {
+                        log.debug("new WSDL4JWrapper-ConfigContext null4"); 
+                    }
+                }
+                this.wsdlWrapper = new WSDL4JWrapper(this.wsdlURL,configContext);
+             
             }
             catch (FileNotFoundException e) {
                 throw ExceptionFactory.makeWebServiceException(
@@ -779,6 +837,13 @@
 		        log.debug("Attempting to read WSDL: " + wsdlLocation + " for web " +
 		        		"service endpoint: " + composite.getClassName());
 		    }
+                    if (log.isDebugEnabled() ) {
+                        if (configContext != null) {
+                            log.debug("new WSDL4JWrapper-ConfigContext not null5");
+                        } else {
+                            log.debug("new WSDL4JWrapper-ConfigContext null5");
+                        }
+                    }
 		    URL url = getWSDLURL(wsdlLocation);
 			this.wsdlWrapper = new WSDL4JWrapper(url);
 			composite.setWsdlDefinition(wsdlWrapper.getDefinition());

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java Fri Feb 15 07:27:05 2008
@@ -19,6 +19,10 @@
 
 package org.apache.axis2.jaxws.util;
 
+import org.apache.axis2.Constants;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.description.Parameter;
+import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.java.security.AccessController;
 import org.apache.axis2.jaxws.ExceptionFactory;
 import org.apache.axis2.jaxws.i18n.Messages;
@@ -70,12 +74,25 @@
 
     private URL wsdlURL;
     private String wsdlExplicitURL;
+    private ConfigurationContext configContext;
 
+   /**
+    * Constructor
+    *
+    * @param URL   The URL for the WSDL
+    */
     public WSDL4JWrapper(URL wsdlURL) throws FileNotFoundException, UnknownHostException,
             ConnectException, IOException, WSDLException {
+        this(wsdlURL, (ConfigurationContext)null);
+    }
+
+    public WSDL4JWrapper(URL wsdlURL, ConfigurationContext configContext) throws FileNotFoundException, UnknownHostException,
+            ConnectException, IOException, WSDLException {
         super();
+        this.configContext = configContext;
+	// debugMemoryParms(configContext);
         if(log.isDebugEnabled()) {
-            log.debug("Looking for wsdl file on client: " + (wsdlURL != null ? 
+            log.debug("WSDL4JWrapper(URL,ConfigurationContext) - Looking for wsdl file on client: " + (wsdlURL != null ? 
                     wsdlURL.getPath():null));
         }
         ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged(
@@ -331,19 +348,51 @@
         return reader;
     }
 
+   /**
+    * Constructor
+    *
+    * @param URL   The URL for the WSDL
+    * @param Definition   Definition for the WSDL
+    */
     public WSDL4JWrapper(URL wsdlURL, Definition wsdlDefinition) throws WSDLException {
+        this(wsdlURL, wsdlDefinition, null);
+    }
+
+   
+    /**
+    * Constructor
+    *
+    * @param URL   The URL for the WSDL
+    * @param Definition   Definition for the WSDL
+    * @param ConfigurationContext  to get parameters for WSDL building 
+    */
+    public WSDL4JWrapper(URL wsdlURL, Definition wsdlDefinition, ConfigurationContext configContext) throws WSDLException {
         super();
+        if (log.isDebugEnabled() ) { log.debug("WSDL4JWrapper(URL,Definition,ConfigContext) entry"); }
+
+	this.configContext = configContext;
         this.wsdlURL = wsdlURL;
         if ((wsdlDefinition != null) && !(wsdlDefinition instanceof WSDLDefinitionWrapper)) {
-            this.wsdlDefinition = new WSDLDefinitionWrapper(wsdlDefinition, wsdlURL);
+	    if (configContext != null) {
+                this.wsdlDefinition = new WSDLDefinitionWrapper(wsdlDefinition, wsdlURL, configContext.getAxisConfiguration() );
+            } else {
+                this.wsdlDefinition = new WSDLDefinitionWrapper(wsdlDefinition, wsdlURL);
+            }
         } else {
             this.wsdlDefinition = (WSDLDefinitionWrapper) wsdlDefinition;
         }
     }
 
 
+   /**
+    * Constructor
+    *
+    * @param Definition   Definition for the WSDL
+    */
     public WSDL4JWrapper(Definition wsdlDefinition) throws WSDLException {
         super();
+        if (log.isDebugEnabled() ) { log.debug("WSDL4JWrapper(Definition) entry"); }
+
         if ((wsdlDefinition != null) && !(wsdlDefinition instanceof WSDLDefinitionWrapper)) {
             this.wsdlDefinition = new WSDLDefinitionWrapper(wsdlDefinition);
         } else {
@@ -369,7 +418,11 @@
         if (wsdlDefinition == null) {
             Definition def = loadDefinition();
             if (def != null) {
-                wsdlDefinition = new WSDLDefinitionWrapper(def);
+	        if (configContext != null) {
+                    wsdlDefinition = new WSDLDefinitionWrapper(def, configContext.getAxisConfiguration() );
+                } else {
+                    wsdlDefinition = new WSDLDefinitionWrapper(def, (AxisConfiguration)null);
+                }
             }
         }
         return wsdlDefinition;
@@ -684,6 +737,39 @@
     		throw e.getException();
     	}
     	return is;
+    }
+
+    private void debugMemoryParms(ConfigurationContext configContext) {
+        if (configContext != null) {
+            AxisConfiguration axisCfg = configContext.getAxisConfiguration();
+
+            boolean reduceWSDLMemoryCache = false;
+            int reduceWSDLMemoryType = 9;
+            // determine what the setting for the memory optimization is
+            if (axisCfg != null) {
+                Parameter param = axisCfg.getParameter(Constants.Configuration.REDUCE_WSDL_MEMORY_CACHE);
+
+                reduceWSDLMemoryCache =
+                    param != null && ((String) param.getValue()).equalsIgnoreCase("true");
+
+
+                param = axisCfg.getParameter(Constants.Configuration.REDUCE_WSDL_MEMORY_TYPE);
+
+                if (param != null) {
+                    String value = (String) param.getValue();
+
+                    if (value != null) {
+                        Integer i = new Integer(value);
+                        reduceWSDLMemoryType = i.intValue();
+                    }
+                }
+                log.debug("reduceWSDLMemoryCache:"+ reduceWSDLMemoryCache + ", reduceWSDLMemoryType:" + reduceWSDLMemoryType );
+            } else {
+                log.debug("AxisConfiguration is null");
+            }
+        } else {
+            log.debug("ConfigContext is null");
+        }
     }
 
 }

Added: webservices/axis2/trunk/java/modules/metadata/test-resources/axis2.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/test-resources/axis2.xml?rev=628087&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/test-resources/axis2.xml (added)
+++ webservices/axis2/trunk/java/modules/metadata/test-resources/axis2.xml Fri Feb 15 07:27:05 2008
@@ -0,0 +1,85 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<axisconfig name="AxisJava2.0">
+
+<parameter name="reduceWSDLMemoryCache">true</parameter>
+<parameter name="reduceWSDLMemoryType">2</parameter>
+
+    <moduleConfig name="testModule">
+        <parameter name="testModulePara">N/A</parameter>
+    </moduleConfig>
+
+    <moduleConfig name="testModule2">
+        <parameter name="testModulePara2">N/A</parameter>
+    </moduleConfig>
+
+    <phaseOrder type="InFlow">
+        <!--  System pre defined phases       -->
+         <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher"/>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+        </phase>
+        <!--  System pre defined phases       -->
+        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
+        <phase name="OperationInPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFlow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+    <phaseOrder type="InFaultFlow">
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher"/>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+        </phase>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFaultFlow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>
\ No newline at end of file

Added: webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DBCwithReduceWSDLMemoryParmsTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DBCwithReduceWSDLMemoryParmsTests.java?rev=628087&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DBCwithReduceWSDLMemoryParmsTests.java (added)
+++ webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DBCwithReduceWSDLMemoryParmsTests.java Fri Feb 15 07:27:05 2008
@@ -0,0 +1,187 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.jaxws.description;
+
+import java.io.File;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.AxisFault;
+
+import javax.jws.WebService;
+import javax.wsdl.Definition;
+
+//import org.apache.axis2.wsdl.util.WSDLWrapperImpl;
+import org.apache.axis2.jaxws.util.WSDLWrapper;
+//import org.apache.axis2.wsdl.util.WSDLWrapperReloadImpl;
+
+import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
+import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
+import org.apache.axis2.jaxws.description.builder.ParameterDescriptionComposite;
+import org.apache.axis2.jaxws.description.builder.WebServiceAnnot;
+
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+
+/**
+ * These tests are intended to test various aspects of the OperationDescription.
+ */
+
+public class DBCwithReduceWSDLMemoryParmsTests extends TestCase {
+
+    /**
+     * This test will confirm that when reduceWSDLMemoryCache is true 
+     * and reduceWSDLMemoryType=2
+     *  The WsdlDefinitionWrapper will construct WSDLWrapperReloadImpl classes  
+     *
+     */
+    public static String basedir;
+    static {
+        basedir = System.getProperty("basedir");
+        if (basedir == null) {
+            basedir = new File(".").getAbsolutePath();
+        }
+    }
+
+    public void testDBCwithReduceWSDLMemoryParms() {
+        
+        // I used OperationDescriptionTests as a template for this test
+
+        String axis2xml = basedir +
+            "/test-resources/axis2.xml";
+        ConfigurationContext cc;
+        try {
+
+            cc = ConfigurationContextFactory
+                .createConfigurationContextFromFileSystem(null, axis2xml);
+            if (cc !=null) {
+                String parm = (String)cc.getAxisConfiguration().getParameterValue("reduceWSDLMemoryCache") ;
+                //System.out.println("configContext parm:" + parm );
+            } else {
+                //System.out.println("configContext: is null" );
+            }
+            assertNotNull(axis2xml);
+
+            String wsdlRelativeLocation = "test-resources/wsdl/";
+            String wsdlFileName = "BindingNamespace.wsdl";
+            String targetNamespace = "http://nonanonymous.complextype.test.org";
+            String wsdlLocation = wsdlRelativeLocation + wsdlFileName;
+
+            // Build up a DBC, including the WSDL Definition and the annotation information for 
+            // the impl class.
+            DescriptionBuilderComposite dbc = new DescriptionBuilderComposite(cc);
+
+            URL wsdlURL = DescriptionTestUtils.getWSDLURL(wsdlFileName);
+            Definition wsdlDefn = DescriptionTestUtils.createWSDLDefinition(wsdlURL);
+            assertNotNull(wsdlDefn);
+
+            WebServiceAnnot webServiceAnnot = WebServiceAnnot.createWebServiceAnnotImpl();
+            assertNotNull(webServiceAnnot);
+            webServiceAnnot.setWsdlLocation(wsdlLocation);
+            webServiceAnnot.setTargetNamespace(targetNamespace);
+            webServiceAnnot.setServiceName("EchoMessageService");
+            webServiceAnnot.setPortName("EchoMessagePort");
+
+            MethodDescriptionComposite mdc = new MethodDescriptionComposite();
+            mdc.setMethodName("echoMessage");
+            mdc.setReturnType("java.lang.String");
+
+            ParameterDescriptionComposite pdc1 = new ParameterDescriptionComposite();
+            pdc1.setParameterType("java.lang.String");
+
+            mdc.addParameterDescriptionComposite(pdc1);
+
+            dbc.addMethodDescriptionComposite(mdc);
+            dbc.setWebServiceAnnot(webServiceAnnot);
+            dbc.setClassName(BindingNSImpl.class.getName());
+            //dbc.setWsdlDefinition(wsdlDefn);
+            //System.out.println("DBCwithConfigContextTests setWsdlURL" );
+            dbc.setwsdlURL(wsdlURL);
+            //System.out.println("DBCwithConfigContextTests new HashMap" );
+
+            HashMap<String, DescriptionBuilderComposite> dbcMap =
+                new HashMap<String, DescriptionBuilderComposite>();
+            dbcMap.put(dbc.getClassName(), dbc);
+            //System.out.println("**** DescriptionFactory.createServiceDescriptionFromDBCMap-DBC-toString" + 
+            //                      dbc.toString() + " toString-END" );
+            List<ServiceDescription> serviceDescList =
+                DescriptionFactory.createServiceDescriptionFromDBCMap(dbcMap, cc);
+            //System.out.println("**** DBCwithConfigContextTests tests:" + dbc.toString() +" toString-END" );
+            assertEquals(1, serviceDescList.size());
+            //System.out.println("DBCwithConfigContextTests get ServiceDescription" );
+            ServiceDescriptionWSDL sdw = (ServiceDescriptionWSDL)serviceDescList.get(0);
+            assertNotNull(sdw);
+
+            //System.out.println("DBCwithConfigContextTests ServiceDescriptionWSDL not null" );
+
+            WSDLWrapper w = sdw.getWSDLWrapper();
+            assertNotNull(w);
+            //System.out.println("DBCwithConfigContextTests WSDLWrapper not null" );
+
+            Definition d = w.getDefinition();
+            assertNotNull(d);
+            //System.out.println("DBCwithConfigContextTests Definition not null" );
+            assertTrue(d.toString().startsWith("org.apache.axis2.wsdl.util.WSDLWrapperReloadImpl") );
+
+
+            //System.out.println("d:" + d.getClass().getName() + "\n" + d.toString() ) ;
+
+            /*
+               EndpointDescription[] edArray = sd.getEndpointDescriptions();
+               assertNotNull(edArray);
+               assertEquals(1, edArray.length);
+               EndpointDescription ed = edArray[0];
+               assertNotNull(ed);
+
+               EndpointInterfaceDescription eid = ed.getEndpointInterfaceDescription();
+               assertNotNull(eid);
+
+               OperationDescription[] odArray = eid.getOperations();
+               assertNotNull(odArray);
+               assertEquals(1, odArray.length);
+               OperationDescription od = odArray[0];
+               assertNotNull(od);
+               assertEquals("http://org.apache.binding.ns", od.getBindingInputNamespace());
+               assertEquals("http://org.apache.binding.ns", od.getBindingOutputNamespace());
+             */
+        } catch (AxisFault e) {
+            fail("This should not fail with this " + e);
+        }
+    }
+
+
+    @WebService(serviceName = "EchoMessageService", portName = "EchoMessagePort", targetNamespace = "http://nonanonymous.complextype.test.org", wsdlLocation = "test-resources/wsdl/BindingNamespace.wsdl")
+    public class BindingNSImpl {
+        public String echoMessage(String arg) {
+            return arg;
+        }
+    }
+
+
+    @WebService(serviceName = "EchoMessageService", portName = "EchoMessagePort", targetNamespace = "http://nonanonymous.complextype.test.org", wsdlLocation = "test-resources/wsdl/BindingNamespaceDefaults.wsdl")
+    public class BindingNSDefaultsImpl {
+        public String echoMessage(String arg) {
+            return arg;
+        }
+    }
+
+}

Modified: webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImplTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImplTests.java?rev=628087&r1=628086&r2=628087&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImplTests.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImplTests.java Fri Feb 15 07:27:05 2008
@@ -157,7 +157,7 @@
         assertNotNull(pn);
         assertNotNull(tns);
         QName portQName = new QName(tns, pn);
-        List<ServiceDescription> sdList = DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap);
+        List<ServiceDescription> sdList = DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap, null);
         assertNotNull(sdList);
         assertEquals(sdList.size(), 1);
         ServiceDescription sd = sdList.get(0);
@@ -193,7 +193,7 @@
         assertNotNull(is);
         HandlerChainsType hct = DescriptionUtils.loadHandlerChains(is, this.getClass().getClassLoader());
         dbc.setHandlerChainsType(hct);
-        List<ServiceDescription> sdList = DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap);
+        List<ServiceDescription> sdList = DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap, null);
         assertNotNull(sdList);
         assertTrue(sdList.size() > 0);
         ServiceDescription sd = sdList.get(0);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org