You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-commits@ws.apache.org by ip...@apache.org on 2005/10/20 17:05:46 UTC

svn commit: r326920 - in /webservices/wsrf/trunk/src: java/org/apache/ws/metadata/ java/org/apache/ws/resource/ java/org/apache/ws/resource/impl/ java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/ java/org/apache/ws/resource/tool/ jav...

Author: ips
Date: Thu Oct 20 08:05:34 2005
New Revision: 326920

URL: http://svn.apache.org/viewcvs?rev=326920&view=rev
Log:
finished updating docs; moved metadata exchange classes to more suitable package; added support to wsdl2java for generating metadata entry for WSDL in config when appropriate

Added:
    webservices/wsrf/trunk/src/java/org/apache/ws/metadata/
    webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataConfiguration.java
      - copied, changed from r326908, webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataConfigImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataEntry.java
      - copied, changed from r326908, webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataEntry.java
Removed:
    webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataConfigImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataEntry.java
Modified:
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceHome.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java
    webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/config.xml
    webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/metadata.xml
    webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/singleton.xml
    webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml
    webservices/wsrf/trunk/src/site/content/xdocs/tutorial/wsdl2java.xml
    webservices/wsrf/trunk/src/templates/wsrf-config.xml.vm
    webservices/wsrf/trunk/src/test/org/apache/ws/resource/metadataexchange/v2004_09/jndi-config.xml

Copied: webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataConfiguration.java (from r326908, webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataConfigImpl.java)
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataConfiguration.java?p2=webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataConfiguration.java&p1=webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataConfigImpl.java&r1=326908&r2=326920&rev=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataConfigImpl.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataConfiguration.java Thu Oct 20 08:05:34 2005
@@ -13,7 +13,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  *=============================================================================*/
-package org.apache.ws.util.jndi.tools;
+package org.apache.ws.metadata;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -27,7 +27,7 @@
  *
  * @author Sal Campana
  */
-public class MetadataConfigImpl
+public class MetadataConfiguration
 {
 
 	/*
@@ -54,7 +54,7 @@
     /**
      * Creates a new <code>MetadataConfigImpl</code> object.
      */
-    public MetadataConfigImpl() {
+    public MetadataConfiguration() {
         this( new ArrayList() );
     }
 
@@ -63,7 +63,7 @@
 	 *
 	 * @param metadataEntryList a list of {@link MetadataEntry}s
 	 */
-	public MetadataConfigImpl(List metadataEntryList) {
+	public MetadataConfiguration(List metadataEntryList) {
 		m_metadataEntryList = metadataEntryList;
 		initMetadataEntryMap();
 	}

Copied: webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataEntry.java (from r326908, webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataEntry.java)
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataEntry.java?p2=webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataEntry.java&p1=webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataEntry.java&r1=326908&r2=326920&rev=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/util/jndi/tools/MetadataEntry.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/metadata/MetadataEntry.java Thu Oct 20 08:05:34 2005
@@ -13,7 +13,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  *=============================================================================*/
-package org.apache.ws.util.jndi.tools;
+package org.apache.ws.metadata;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceHome.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceHome.java?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceHome.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceHome.java Thu Oct 20 08:05:34 2005
@@ -16,7 +16,7 @@
 package org.apache.ws.resource;
 
 import org.apache.ws.addressing.EndpointReference;
-import org.apache.ws.util.jndi.tools.MetadataConfigImpl;
+import org.apache.ws.metadata.MetadataConfiguration;
 
 /**
  * Defines a basic interface through which resources are discovered and removed. The purpose of
@@ -164,7 +164,7 @@
     * @throws ResourceException           if any other error occurs.
     */
    Resource find( Object resourceId )
-   throws ResourceUnknownException, 
+   throws ResourceUnknownException,
           ResourceException;
 
    /**
@@ -175,13 +175,13 @@
     * @throws ResourceException           if any other error occurs
     */
    void remove( Object resourceId )
-   throws ResourceUnknownException, 
+   throws ResourceUnknownException,
           ResourceException;
-   
+
    /**
     * Returns the MetadataConfigImpl containing any configured Metadata for the Service.
     * 
     * @return MetadataConfigImpl
     */
-   MetadataConfigImpl getMetadataConfig();
+   MetadataConfiguration getMetadataConfig();
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java Thu Oct 20 08:05:34 2005
@@ -21,6 +21,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.Soap1_1Constants;
+import org.apache.ws.metadata.MetadataConfiguration;
 import org.apache.ws.addressing.EndpointReference;
 import org.apache.ws.addressing.XmlBeansEndpointReference;
 import org.apache.ws.resource.IllegalResourceTypeException;
@@ -47,7 +48,6 @@
 import org.apache.ws.util.i18n.Messages;
 import org.apache.ws.util.jndi.Initializable;
 import org.apache.ws.util.jndi.XmlBeanJndiUtils;
-import org.apache.ws.util.jndi.tools.MetadataConfigImpl;
 import org.apache.ws.util.lock.Lock;
 import org.apache.ws.util.lock.LockManager;
 import org.apache.ws.util.platform.JaxRpcPlatform;
@@ -157,7 +157,7 @@
     private Class m_resourceClass;
     private Class m_serviceClass;
     private String m_portComponentName;
-	private MetadataConfigImpl m_metadataConfig;
+	private MetadataConfiguration m_metadataConfig;
     private static final String CONTEXT_NAME_J2EE_TIMER_MANAGER = "java:comp/env/tm/TimerManager";
 
     /**
@@ -1043,11 +1043,11 @@
             }
         }
     }
-    public MetadataConfigImpl getMetadataConfig() 
+    public MetadataConfiguration getMetadataConfig()
     {
     	return m_metadataConfig;
     }
-    public void setMetadataConfig(MetadataConfigImpl config) {
+    public void setMetadataConfig(MetadataConfiguration config) {
 		m_metadataConfig = config;
 	}
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java Thu Oct 20 08:05:34 2005
@@ -15,12 +15,9 @@
  *=============================================================================*/
 package org.apache.ws.resource.metadataexchange.v2004_09.porttype.impl;
 
-import java.net.URI;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.ws.Soap1_1Constants;
+import org.apache.ws.metadata.MetadataConfiguration;
+import org.apache.ws.metadata.MetadataEntry;
 import org.apache.ws.resource.AbstractPortType;
 import org.apache.ws.resource.NamespaceVersionHolder;
 import org.apache.ws.resource.ResourceContext;
@@ -29,8 +26,6 @@
 import org.apache.ws.resource.metadataexchange.v2004_09.porttype.MetadataExchangePortType;
 import org.apache.ws.resource.properties.v2004_11.impl.NamespaceVersionHolderImpl;
 import org.apache.ws.util.XmlBeanUtils;
-import org.apache.ws.util.jndi.tools.MetadataConfigImpl;
-import org.apache.ws.util.jndi.tools.MetadataEntry;
 import org.apache.xmlbeans.XmlObject;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
 import org.xmlsoap.schemas.ws.x2004.x09.mex.AnyXmlType;
@@ -40,122 +35,144 @@
 import org.xmlsoap.schemas.ws.x2004.x09.mex.MetadataReferenceDocument;
 import org.xmlsoap.schemas.ws.x2004.x09.mex.MetadataSectionDocument;
 
+import java.net.URI;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * An implementation of the WS-MEX MetadataExchange portType.
- * 
+ *
  * @author Sal Campana
  */
 public class MetadataExchangePortTypeImpl extends AbstractPortType implements
-		MetadataExchangePortType {
-	private static final NamespaceVersionHolder NAMESPACE_SET = new NamespaceVersionHolderImpl();
-
-	/**
-	 * Creates a new {@link AbstractPortType} object.
-	 * 
-	 * @param resourceContext
-	 */
-	public MetadataExchangePortTypeImpl(ResourceContext resourceContext) {
-		super(resourceContext);
-	}
-
-	/**
-	 * WS-MetadataExchange GetMetadata operation.
-	 * 
-	 * @param request
-	 * @return MetadataDocument response document
-	 */
-	public MetadataDocument getMetadata(GetMetadataDocument request) {
-		MetadataConfigImpl metadataConfig = getResourceContext().getResourceHome().getMetadataConfig();
-		
-		// prep the response
-		MetadataDocument responseDoc = createMetadataResponseDoc();
-		MetadataDocument.Metadata responseMetadata = responseDoc
-				.addNewMetadata();
-
-		if(metadataConfig != null)
-		{
-		// get the values from the request
-		GetMetadataDocument.GetMetadata requestMetadata = request
-				.getGetMetadata();
-		String dialect = requestMetadata.getDialect();
-		String identifier = requestMetadata.getIdentifier();
-
-		// get the metatdata from the config
-		// the map is keyed on dialect and keyed to a List of metadata
-		// this allows you to build a metadata section per dialect
-		Map metadataMap = metadataConfig.getMetadata(dialect, identifier);
-
-		// iterate the returned set and add metadata sections
-		Iterator iterator = metadataMap.keySet().iterator();
-		while (iterator.hasNext()) {
-			String dialectKey = (String) iterator.next();
-
-			// get the list of metatadata for this dialect
-			List metadataList = (List) metadataMap.get(dialectKey);
-
-			for (int i = 0; i < metadataList.size(); i++) {
-				// create a new metadata section
-				MetadataSectionDocument.MetadataSection metadataSection = responseMetadata
-						.addNewMetadataSection();
-				MetadataEntry metadataEntry = (MetadataEntry) metadataList.get(i);
-				XmlObject metadata = metadataEntry.getMetadata();
-				if(metadata == null) continue;
-				metadataSection.setDialect(dialectKey);
-				if ((identifier != null) && !"".equals(identifier)) {
-					metadataSection.setIdentifier(identifier);
-				}
-
-				/** Determine type of metadata to add * */
-				if (metadata instanceof MetadataReferenceDocument) {
-					// adds a MetadataReference for locating the metadata
-					metadataSection
-							.setMetadataReference((EndpointReferenceType) metadata);
-				} else if (metadata instanceof LocationDocument) {
-					// adds a Location for locating the metadata
-					metadataSection.setLocation(((LocationDocument) metadata)
-							.getLocation());
-				} else {
-					// else its the metadata document and must be added as a
-					// child for the "any"
-					XmlBeanUtils.addChildElement(metadataSection,
-							(XmlObject) metadata);
-				}
-			}
-		}
-		}
-		getResourceContext().setResponseAction(
-						URI.create(MetadataExchangeConstants.ACTION_GETMETADATA_RESPONSE));
-		return responseDoc;
-	}
-
-	/**
-	 * WS-MetadataExchange Get operation.
-	 * 
-	 * @return AnyXmlType response document.
-	 */
-	public AnyXmlType get() {
-		//todo spec says may use WS-Addressing ActionNotSupported
-		throw new FaultException(Soap1_1Constants.FAULT_SERVER,"Unimplemented Operation.");
-	}
-
-	/**
-	 * DOCUMENT_ME
-	 * 
-	 * @return DOCUMENT_ME
-	 */
-	protected NamespaceVersionHolder getNamespaceSet() {
-		return NAMESPACE_SET;
-	}
-
-	/**
-	 * Creates the response object for a GetMetadata request
-	 * 
-	 * @return empty MetadataDocument
-	 */
-	private MetadataDocument createMetadataResponseDoc() {
-		MetadataDocument metadataDocument = MetadataDocument.Factory
-				.newInstance();
-		return metadataDocument;
+        MetadataExchangePortType
+{
+    private static final NamespaceVersionHolder NAMESPACE_SET = new NamespaceVersionHolderImpl();
+
+    /**
+     * Creates a new {@link AbstractPortType} object.
+     *
+     * @param resourceContext
+     */
+    public MetadataExchangePortTypeImpl( ResourceContext resourceContext )
+    {
+        super( resourceContext );
+    }
+
+    /**
+     * WS-MetadataExchange GetMetadata operation.
+     *
+     * @param request
+     *
+     * @return MetadataDocument response document
+     */
+    public MetadataDocument getMetadata( GetMetadataDocument request )
+    {
+        MetadataConfiguration metadataConfig = getResourceContext().getResourceHome().getMetadataConfig();
+
+        // prep the response
+        MetadataDocument responseDoc = createMetadataResponseDoc();
+        MetadataDocument.Metadata responseMetadata = responseDoc
+                .addNewMetadata();
+
+        if ( metadataConfig != null )
+        {
+            // get the values from the request
+            GetMetadataDocument.GetMetadata requestMetadata = request
+                    .getGetMetadata();
+            String dialect = requestMetadata.getDialect();
+            String identifier = requestMetadata.getIdentifier();
+
+            // get the metatdata from the config
+            // the map is keyed on dialect and keyed to a List of metadata
+            // this allows you to build a metadata section per dialect
+            Map metadataMap = metadataConfig.getMetadata( dialect, identifier );
+
+            // iterate the returned set and add metadata sections
+            Iterator iterator = metadataMap.keySet().iterator();
+            while ( iterator.hasNext() )
+            {
+                String dialectKey = (String) iterator.next();
+
+                // get the list of metatadata for this dialect
+                List metadataList = (List) metadataMap.get( dialectKey );
+
+                for ( int i = 0; i < metadataList.size(); i++ )
+                {
+                    // create a new metadata section
+                    MetadataSectionDocument.MetadataSection metadataSection = responseMetadata
+                            .addNewMetadataSection();
+                    MetadataEntry metadataEntry = (MetadataEntry) metadataList.get( i );
+                    XmlObject metadata = metadataEntry.getMetadata();
+                    if ( metadata == null )
+                    {
+                        continue;
+                    }
+                    metadataSection.setDialect( dialectKey );
+                    if ( ( identifier != null ) && !"".equals( identifier ) )
+                    {
+                        metadataSection.setIdentifier( identifier );
+                    }
+
+                    /** Determine type of metadata to add * */
+                    if ( metadata instanceof MetadataReferenceDocument )
+                    {
+                        // adds a MetadataReference for locating the metadata
+                        metadataSection
+                                .setMetadataReference( (EndpointReferenceType) metadata );
+                    }
+                    else if ( metadata instanceof LocationDocument )
+                    {
+                        // adds a Location for locating the metadata
+                        metadataSection.setLocation( ( (LocationDocument) metadata )
+                                .getLocation() );
+                    }
+                    else
+                    {
+                        // else its the metadata document and must be added as a
+                        // child for the "any"
+                        XmlBeanUtils.addChildElement( metadataSection,
+                                (XmlObject) metadata );
+                    }
+                }
+            }
+        }
+        getResourceContext().setResponseAction(
+                URI.create( MetadataExchangeConstants.ACTION_GETMETADATA_RESPONSE ) );
+        return responseDoc;
+    }
+
+    /**
+     * WS-MetadataExchange Get operation.
+     *
+     * @return AnyXmlType response document.
+     */
+    public AnyXmlType get()
+    {
+        //todo spec says may use WS-Addressing ActionNotSupported
+        throw new FaultException( Soap1_1Constants.FAULT_SERVER, "Unimplemented Operation." );
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    protected NamespaceVersionHolder getNamespaceSet()
+    {
+        return NAMESPACE_SET;
+    }
+
+    /**
+     * Creates the response object for a GetMetadata request
+     *
+     * @return empty MetadataDocument
+     */
+    private MetadataDocument createMetadataResponseDoc()
+    {
+        return MetadataDocument.Factory
+                .newInstance();
 	}
 
 

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java Thu Oct 20 08:05:34 2005
@@ -25,6 +25,7 @@
 import org.apache.velocity.app.Velocity;
 import org.apache.velocity.runtime.RuntimeConstants;
 import org.apache.ws.resource.ResourceDefinition;
+import org.apache.ws.resource.metadataexchange.v2004_09.porttype.MetadataExchangePortType;
 import org.apache.ws.resource.handler.ResourceHandler;
 import org.apache.ws.resource.i18n.Keys;
 import org.apache.ws.resource.i18n.MessagesImpl;
@@ -320,6 +321,11 @@
          props.setCustomPropertyNames( resourceDef.getCustomPropertyNames() );
       }
 
+      if ( resourceDef.implementsResourceCapability( MetadataExchangePortType.NAME ) )
+      {
+         props.setHasMetadata( true );
+      }
+
       // define the names of the resource props that we initialize for the user...
       if ( hasScheduledResourceTerminationPortType( resourceDef ) )
       {
@@ -399,24 +405,24 @@
       return props;
    }
 
-   /**
-    * Provides a hook for adding to the Velocity Context.
-    *
-    * @param context
-    * @return VelocityContext
-    */
-   protected VelocityContext updateVelocityContext( VelocityContext    context,
-                                                    ResourceDefinition resourceDef )
-   {
-      //dummy endpoint vars for jsr109...
-      context.put("jsr109EndpointClassName", DummyEndpointImpl.class.getName());
-      context.put("jsr109EndpointInterfaceName", DummyEndpoint.class.getName());
-      context.put("jsr109EndpointDummyJavaOperation", DummyEndpoint.class.getMethods()[0].getName());
-
-      //handler var for jsr109
-      context.put("resourceHandlerClassName", ResourceHandler.class.getName());
-      return context;
-   }
+    /**
+     * Provides a hook for adding to the Velocity Context.
+     *
+     * @param context
+     * @return VelocityContext
+     */
+    protected VelocityContext updateVelocityContext( VelocityContext    context,
+                                                     ResourceDefinition resourceDef )
+    {
+       //dummy endpoint vars for jsr109...
+       context.put("jsr109EndpointClassName", DummyEndpointImpl.class.getName());
+       context.put("jsr109EndpointInterfaceName", DummyEndpoint.class.getName());
+       context.put("jsr109EndpointDummyJavaOperation", DummyEndpoint.class.getMethods()[0].getName());
+
+       //handler var for jsr109
+       context.put("resourceHandlerClassName", ResourceHandler.class.getName());
+       return context;
+    }
 
    /**
     * DOCUMENT_ME

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java Thu Oct 20 08:05:34 2005
@@ -15,9 +15,10 @@
  *=============================================================================*/
 package org.apache.ws.resource.tool.velocity;
 
-import org.apache.ws.resource.ResourceDefinition;
 import org.apache.ws.resource.NamespaceVersionHolder;
+import org.apache.ws.resource.ResourceDefinition;
 import org.apache.ws.util.XmlBeanNameUtils;
+
 import javax.xml.namespace.QName;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -32,56 +33,57 @@
 public class ServiceProperties
 {
 
-   private static final String NAMESPACE_SET_CONSTANT_NAME = "SPEC_NAMESPACE_SET";
+    private static final String NAMESPACE_SET_CONSTANT_NAME = "SPEC_NAMESPACE_SET";
 
-   private String m_packageName;
+    private String m_packageName;
 
-   private String m_serviceName;
+    private String m_serviceName;
 
-   private String m_serviceImplements;
+    private String m_serviceImplements;
 
-   private String m_namespace;
+    private String m_namespace;
 
-   private String m_prefix;
+    private String m_prefix;
 
-   private Map m_customMappings;
+    private Map m_customMappings;
 
-   private QName[] m_customPropNames;
+    private QName[] m_customPropNames;
 
-   private Map m_propertyMap;
+    private Map m_propertyMap;
 
-   private String m_resourceImplements;
+    private String m_resourceImplements;
 
-   private String m_propertyDocumentName;
+    private String m_propertyDocumentName;
 
-   private String m_wsdlName;
+    private String m_wsdlName;
 
-   private QName m_resourcekey;
+    private QName m_resourcekey;
 
-   private List m_resourceIncludes = new ArrayList(  );
+    private List m_resourceIncludes = new ArrayList();
 
-   private List m_serviceIncludes = new ArrayList(  );
+    private List m_serviceIncludes = new ArrayList();
 
-   private List m_resourceInitIncludes = new ArrayList(  );
+    private List m_resourceInitIncludes = new ArrayList();
 
-   private List                       m_abstractResourceInitIncludes    = new ArrayList(  );
-   private List                       m_springBeanDefIncludeLocations   = new ArrayList(  );
-   private boolean            m_hasProperties;
-   private String             m_endpointServiceName;
-   private String             m_endpointURL;
-   private String             m_jarDir;
-   private String             m_classesDir;
-   private String             m_srcDir;
-   private String             m_jarFileName;
-   private ResourceDefinition m_resourceDef;
-   private String             m_namespaceVersionHolder;
-   private QName              m_serviceQName;
-   private String             m_portName;
-   private QName              m_portTypeQName;
-   private List               m_implementedProps                = new ArrayList(  );
-   private String             m_webbAppName;
-   private String             m_namespaceVersionHolderClassName;
-   private String             m_port;
+    private List m_abstractResourceInitIncludes = new ArrayList();
+    private List m_springBeanDefIncludeLocations = new ArrayList();
+    private boolean m_hasProperties;
+    private boolean m_hasMetadata;
+    private String m_endpointServiceName;
+    private String m_endpointURL;
+    private String m_jarDir;
+    private String m_classesDir;
+    private String m_srcDir;
+    private String m_jarFileName;
+    private ResourceDefinition m_resourceDef;
+    private String m_namespaceVersionHolder;
+    private QName m_serviceQName;
+    private String m_portName;
+    private QName m_portTypeQName;
+    private List m_implementedProps = new ArrayList();
+    private String m_webbAppName;
+    private String m_namespaceVersionHolderClassName;
+    private String m_port;
     private Map m_serviceMethodMap;
     private QName m_wsdlServiceName;
 
@@ -92,7 +94,7 @@
      */
     public ServiceProperties( ResourceDefinition resourceDef )
     {
-       m_resourceDef = resourceDef;
+        m_resourceDef = resourceDef;
     }
 
     public QName[] getCustomPropertyNames()
@@ -110,622 +112,632 @@
         return m_springBeanDefIncludeLocations;
     }
 
+    public boolean getHasMetadata()
+    {
+        return m_hasMetadata;
+    }
+
+    public void setHasMetadata( boolean hasMetadata )
+    {
+        m_hasMetadata = hasMetadata;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public List getAbstractResourceInitIncludeLocations()
+    {
+        return m_abstractResourceInitIncludes;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param classesDir DOCUMENT_ME
+     */
+    public void setClassesDir( String classesDir )
+    {
+        m_classesDir = classesDir;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getClassesDir()
+    {
+        return m_classesDir;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param customMappings DOCUMENT_ME
+     */
+    public void setCustomMappings( Map customMappings )
+    {
+        this.m_customMappings = customMappings;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public Map getCustomMappings()
+    {
+        return m_customMappings;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param prop_qname DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getDocumentElementXmlBeanClassName( QName prop_qname )
+    {
+        return XmlBeanNameUtils.getDocumentElementXmlBeanClassName( prop_qname );
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param serviceName DOCUMENT_ME
+     */
+    public void setEndpointServiceName( String serviceName )
+    {
+        m_endpointServiceName = serviceName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getEndpointServiceName()
+    {
+        return m_endpointServiceName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param endpointURL DOCUMENT_ME
+     */
+    public void setEndpointURL( String endpointURL )
+    {
+        m_endpointURL = endpointURL;
+        try
+        {
+            setPort( Integer.toString( new java.net.URL( endpointURL ).getPort() ) );
+        }
+        catch ( java.net.MalformedURLException e )
+        {
+            throw new RuntimeException( e );
+        }
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getEndpointURL()
+    {
+        return m_endpointURL;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param hasProps DOCUMENT_ME
+     */
+    public void setHasProperties( boolean hasProps )
+    {
+        m_hasProperties = hasProps;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public boolean getHasProperties()
+    {
+        return m_hasProperties;
+    }
+
+    /**
+     * Returns a Map of the properties which the implementor will need to implement.
+     *
+     * @return The Map of props which need to be implenmented/
+     */
+    public Map getImplementableProperties()
+    {
+        Map implementableMap = new HashMap( m_propertyMap );
+        for ( int i = 0; i < m_implementedProps.size(); i++ )
+        {
+            implementableMap.remove( ( (QName) m_implementedProps.get( i ) ).getLocalPart().toUpperCase() );
+        }
+
+        return implementableMap;
+    }
+
+    /**
+     * Returns a list of only the properties which the implementor has defined in their wsdl AND that ARE implemented for
+     * them.
+     *
+     * @return A list of the props which the implementor will not need to implement.
+     */
+    public List getImplementedProperties()
+    {
+        List list = new ArrayList();
+        for ( int i = 0; i < m_implementedProps.size(); i++ )
+        {
+            if ( m_propertyMap.values().contains( m_implementedProps.get( i ) ) )
+            {
+                list.add( m_implementedProps.get( i ) );
+            }
+        }
+
+        return list;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param jarDir DOCUMENT_ME
+     */
+    public void setJarDir( String jarDir )
+    {
+        m_jarDir = jarDir;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getJarDir()
+    {
+        return m_jarDir;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param jarFileName DOCUMENT_ME
+     */
+    public void setJarFileName( String jarFileName )
+    {
+        m_jarFileName = jarFileName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getJarFileName()
+    {
+        return m_jarFileName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param namespace DOCUMENT_ME
+     */
+    public void setNamespace( String namespace )
+    {
+        this.m_namespace = namespace;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getNamespace()
+    {
+        return m_namespace;
+    }
+
     /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public List getAbstractResourceInitIncludeLocations(  )
-   {
-      return m_abstractResourceInitIncludes;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param classesDir DOCUMENT_ME
-    */
-   public void setClassesDir( String classesDir )
-   {
-      m_classesDir = classesDir;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getClassesDir(  )
-   {
-      return m_classesDir;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param customMappings DOCUMENT_ME
-    */
-   public void setCustomMappings( Map customMappings )
-   {
-      this.m_customMappings = customMappings;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public Map getCustomMappings(  )
-   {
-      return m_customMappings;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param prop_qname DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getDocumentElementXmlBeanClassName( QName prop_qname )
-   {
-      return XmlBeanNameUtils.getDocumentElementXmlBeanClassName( prop_qname );
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param serviceName DOCUMENT_ME
-    */
-   public void setEndpointServiceName( String serviceName )
-   {
-      m_endpointServiceName = serviceName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getEndpointServiceName(  )
-   {
-      return m_endpointServiceName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param endpointURL DOCUMENT_ME
-    */
-   public void setEndpointURL( String endpointURL )
-   {
-      m_endpointURL = endpointURL;
-      try
-      {
-         setPort( Integer.toString( new java.net.URL( endpointURL ).getPort(  ) ) );
-      }
-      catch ( java.net.MalformedURLException e )
-      {
-         throw new RuntimeException( e );
-      }
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getEndpointURL(  )
-   {
-      return m_endpointURL;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param hasProps DOCUMENT_ME
-    */
-   public void setHasProperties( boolean hasProps )
-   {
-      m_hasProperties = hasProps;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public boolean getHasProperties(  )
-   {
-      return m_hasProperties;
-   }
-
-   /**
-    * Returns a Map of the properties which the implementor will
-    * need to implement.
-    *
-    * @return The Map of props which need to be implenmented/
-    */
-   public Map getImplementableProperties(  )
-   {
-      Map implementableMap = new HashMap( m_propertyMap );
-      for ( int i = 0; i < m_implementedProps.size(  ); i++ )
-      {
-         implementableMap.remove( ( (QName) m_implementedProps.get( i ) ).getLocalPart(  ).toUpperCase(  ) );
-      }
-
-      return implementableMap;
-   }
-
-   /**
-    * Returns a list of only the properties which the implementor has defined
-    * in their wsdl AND that ARE implemented for them.
-    *
-    * @return A list of the props which the implementor will not need to implement.
-    */
-   public List getImplementedProperties(  )
-   {
-      List list = new ArrayList(  );
-      for ( int i = 0; i < m_implementedProps.size(  ); i++ )
-      {
-         if ( m_propertyMap.values(  ).contains( m_implementedProps.get( i ) ) )
-         {
-            list.add( m_implementedProps.get( i ) );
-         }
-      }
-
-      return list;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param jarDir DOCUMENT_ME
-    */
-   public void setJarDir( String jarDir )
-   {
-      m_jarDir = jarDir;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getJarDir(  )
-   {
-      return m_jarDir;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param jarFileName DOCUMENT_ME
-    */
-   public void setJarFileName( String jarFileName )
-   {
-      m_jarFileName = jarFileName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getJarFileName(  )
-   {
-      return m_jarFileName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param namespace DOCUMENT_ME
-    */
-   public void setNamespace( String namespace )
-   {
-      this.m_namespace = namespace;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getNamespace(  )
-   {
-      return m_namespace;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param namespaceVersionHolderClass DOCUMENT_ME
-    */
-   public void setNamespaceVersionHolder( Class namespaceVersionHolderClass )
-   {
-      if ( namespaceVersionHolderClass != null )
-      {
-         setNamespaceVersionHolderClassName( namespaceVersionHolderClass );
-         m_namespaceVersionHolder =
-            "private static final " + NamespaceVersionHolder.class.getName() + " " + NAMESPACE_SET_CONSTANT_NAME + " = new " + namespaceVersionHolderClass.getName() + "();";
-      }
-   }
+     * DOCUMENT_ME
+     *
+     * @param namespaceVersionHolderClass DOCUMENT_ME
+     */
+    public void setNamespaceVersionHolder( Class namespaceVersionHolderClass )
+    {
+        if ( namespaceVersionHolderClass != null )
+        {
+            setNamespaceVersionHolderClassName( namespaceVersionHolderClass );
+            m_namespaceVersionHolder =
+                    "private static final " + NamespaceVersionHolder.class.getName() + " " +
+                            NAMESPACE_SET_CONSTANT_NAME + " = new " + namespaceVersionHolderClass.getName() + "();";
+        }
+    }
 
     public static String getNamespaceSetConstantName()
     {
         return NAMESPACE_SET_CONSTANT_NAME;
     }
 
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getNamespaceVersionHolder(  )
-   {
-      return m_namespaceVersionHolder;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param namespaceValueHolder DOCUMENT_ME
-    */
-   public void setNamespaceVersionHolderClassName( Class namespaceValueHolder )
-   {
-      m_namespaceVersionHolderClassName = namespaceValueHolder.getName(  );
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getNamespaceVersionHolderClassName(  )
-   {
-      return m_namespaceVersionHolderClassName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param packageName DOCUMENT_ME
-    */
-   public void setPackageName( String packageName )
-   {
-      this.m_packageName = packageName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getPackageName(  )
-   {
-      return m_packageName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param port DOCUMENT_ME
-    */
-   public void setPort( String port )
-   {
-      m_port = port;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getPort(  )
-   {
-      return m_port;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param portName DOCUMENT_ME
-    */
-   public void setPortName( String portName )
-   {
-      m_portName = portName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getPortName(  )
-   {
-      return m_portName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param portTypeQName DOCUMENT_ME
-    */
-   public void setPortTypeQName( QName portTypeQName )
-   {
-      m_portTypeQName = portTypeQName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public QName getPortTypeQName(  )
-   {
-      return m_portTypeQName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param prefix DOCUMENT_ME
-    */
-   public void setPrefix( String prefix )
-   {
-      this.m_prefix = prefix;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getPrefix(  )
-   {
-      return m_prefix;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param propertyDocumentName DOCUMENT_ME
-    */
-   public void setPropertyDocumentName( String propertyDocumentName )
-   {
-      this.m_propertyDocumentName = propertyDocumentName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getPropertyDocumentName(  )
-   {
-      return m_propertyDocumentName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param propertyMap DOCUMENT_ME
-    */
-   public void setPropertyMap( Map propertyMap )
-   {
-      this.m_propertyMap = propertyMap;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public Map getPropertyMap(  )
-   {
-      return m_propertyMap;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param resourceImplements DOCUMENT_ME
-    */
-   public void setResourceImplements( String resourceImplements )
-   {
-      this.m_resourceImplements = resourceImplements;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getResourceImplements(  )
-   {
-      return m_resourceImplements;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public List getResourceIncludeFiles(  )
-   {
-      return m_resourceIncludes;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public List getResourceInitIncludeLocations(  )
-   {
-      return m_resourceInitIncludes;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param resourcekey DOCUMENT_ME
-    */
-   public void setResourcekey( QName resourcekey )
-   {
-      this.m_resourcekey = resourcekey;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public QName getResourcekey(  )
-   {
-      return m_resourcekey;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param serviceImplements DOCUMENT_ME
-    */
-   public void setServiceImplements( String serviceImplements )
-   {
-      this.m_serviceImplements = serviceImplements;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getServiceImplements(  )
-   {
-      return m_serviceImplements;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public List getServiceIncludeFiles(  )
-   {
-      return m_serviceIncludes;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param serviceName DOCUMENT_ME
-    */
-   public void setServiceName( String serviceName )
-   {
-      this.m_serviceName = serviceName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getServiceName(  )
-   {
-      return m_serviceName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param serviceQname DOCUMENT_ME
-    */
-   public void setServiceQName( QName serviceQname )
-   {
-      m_serviceQName = serviceQname;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public QName getServiceQName(  )
-   {
-      return m_serviceQName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param srcDir DOCUMENT_ME
-    */
-   public void setSrcDir( String srcDir )
-   {
-      m_srcDir = srcDir;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getSrcDir(  )
-   {
-      return m_srcDir;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param name DOCUMENT_ME
-    */
-   public void setWebappName( String name )
-   {
-      m_webbAppName = name;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getWebappName(  )
-   {
-      return m_webbAppName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param wsdlName DOCUMENT_ME
-    */
-   public void setWsdlName( String wsdlName )
-   {
-      this.m_wsdlName = wsdlName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getWsdlName(  )
-   {
-      return m_wsdlName;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param abstractResourceInitInclude DOCUMENT_ME
-    */
-   public void addAbstractResourceInitIncludeLocation( String abstractResourceInitInclude )
-   {
-      m_abstractResourceInitIncludes.add( abstractResourceInitInclude );
-   }
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getNamespaceVersionHolder()
+    {
+        return m_namespaceVersionHolder;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param namespaceValueHolder DOCUMENT_ME
+     */
+    public void setNamespaceVersionHolderClassName( Class namespaceValueHolder )
+    {
+        m_namespaceVersionHolderClassName = namespaceValueHolder.getName();
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getNamespaceVersionHolderClassName()
+    {
+        return m_namespaceVersionHolderClassName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param packageName DOCUMENT_ME
+     */
+    public void setPackageName( String packageName )
+    {
+        this.m_packageName = packageName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getPackageName()
+    {
+        return m_packageName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param port DOCUMENT_ME
+     */
+    public void setPort( String port )
+    {
+        m_port = port;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getPort()
+    {
+        return m_port;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param portName DOCUMENT_ME
+     */
+    public void setPortName( String portName )
+    {
+        m_portName = portName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getPortName()
+    {
+        return m_portName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param portTypeQName DOCUMENT_ME
+     */
+    public void setPortTypeQName( QName portTypeQName )
+    {
+        m_portTypeQName = portTypeQName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public QName getPortTypeQName()
+    {
+        return m_portTypeQName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param prefix DOCUMENT_ME
+     */
+    public void setPrefix( String prefix )
+    {
+        this.m_prefix = prefix;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getPrefix()
+    {
+        return m_prefix;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param propertyDocumentName DOCUMENT_ME
+     */
+    public void setPropertyDocumentName( String propertyDocumentName )
+    {
+        this.m_propertyDocumentName = propertyDocumentName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getPropertyDocumentName()
+    {
+        return m_propertyDocumentName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param propertyMap DOCUMENT_ME
+     */
+    public void setPropertyMap( Map propertyMap )
+    {
+        this.m_propertyMap = propertyMap;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public Map getPropertyMap()
+    {
+        return m_propertyMap;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param resourceImplements DOCUMENT_ME
+     */
+    public void setResourceImplements( String resourceImplements )
+    {
+        this.m_resourceImplements = resourceImplements;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getResourceImplements()
+    {
+        return m_resourceImplements;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public List getResourceIncludeFiles()
+    {
+        return m_resourceIncludes;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public List getResourceInitIncludeLocations()
+    {
+        return m_resourceInitIncludes;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param resourcekey DOCUMENT_ME
+     */
+    public void setResourcekey( QName resourcekey )
+    {
+        this.m_resourcekey = resourcekey;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public QName getResourcekey()
+    {
+        return m_resourcekey;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param serviceImplements DOCUMENT_ME
+     */
+    public void setServiceImplements( String serviceImplements )
+    {
+        this.m_serviceImplements = serviceImplements;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getServiceImplements()
+    {
+        return m_serviceImplements;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public List getServiceIncludeFiles()
+    {
+        return m_serviceIncludes;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param serviceName DOCUMENT_ME
+     */
+    public void setServiceName( String serviceName )
+    {
+        this.m_serviceName = serviceName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getServiceName()
+    {
+        return m_serviceName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param serviceQname DOCUMENT_ME
+     */
+    public void setServiceQName( QName serviceQname )
+    {
+        m_serviceQName = serviceQname;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public QName getServiceQName()
+    {
+        return m_serviceQName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param srcDir DOCUMENT_ME
+     */
+    public void setSrcDir( String srcDir )
+    {
+        m_srcDir = srcDir;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getSrcDir()
+    {
+        return m_srcDir;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param name DOCUMENT_ME
+     */
+    public void setWebappName( String name )
+    {
+        m_webbAppName = name;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getWebappName()
+    {
+        return m_webbAppName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param wsdlName DOCUMENT_ME
+     */
+    public void setWsdlName( String wsdlName )
+    {
+        this.m_wsdlName = wsdlName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public String getWsdlName()
+    {
+        return m_wsdlName;
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param abstractResourceInitInclude DOCUMENT_ME
+     */
+    public void addAbstractResourceInitIncludeLocation( String abstractResourceInitInclude )
+    {
+        m_abstractResourceInitIncludes.add( abstractResourceInitInclude );
+    }
 
     /**
      * DOCUMENT_ME
@@ -734,62 +746,62 @@
      */
     public void addSpringBeanDefIncludeLocation( String springBeanDefIncludeLocation )
     {
-       m_springBeanDefIncludeLocations.add( springBeanDefIncludeLocation );
+        m_springBeanDefIncludeLocations.add( springBeanDefIncludeLocation );
     }
 
-   /**
-    * Use this method to tell the ServiceProperties which ResourceProperties we implement for the user.
-    *
-    * @param propQnameTerminationTime
-    */
-   public void addImplementedProperty( QName propQnameTerminationTime )
-   {
-      m_implementedProps.add( propQnameTerminationTime );
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param resourceInclude DOCUMENT_ME
-    */
-   public void addResourceIncludeFile( String resourceInclude )
-   {
-      m_resourceIncludes.add( resourceInclude );
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param resourceInitInclude DOCUMENT_ME
-    */
-   public void addResourceInitIncludeLocation( String resourceInitInclude )
-   {
-      m_resourceInitIncludes.add( resourceInitInclude );
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param serviceInclude DOCUMENT_ME
-    */
-   public void addServiceIncludeFile( String serviceInclude )
-   {
-      m_serviceIncludes.add( serviceInclude );
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param capability DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public boolean implementsResourceCapability( QName capability )
-   {
-      return m_resourceDef.implementsResourceCapability( capability );
-   }
+    /**
+     * Use this method to tell the ServiceProperties which ResourceProperties we implement for the user.
+     *
+     * @param propQnameTerminationTime
+     */
+    public void addImplementedProperty( QName propQnameTerminationTime )
+    {
+        m_implementedProps.add( propQnameTerminationTime );
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param resourceInclude DOCUMENT_ME
+     */
+    public void addResourceIncludeFile( String resourceInclude )
+    {
+        m_resourceIncludes.add( resourceInclude );
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param resourceInitInclude DOCUMENT_ME
+     */
+    public void addResourceInitIncludeLocation( String resourceInitInclude )
+    {
+        m_resourceInitIncludes.add( resourceInitInclude );
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param serviceInclude DOCUMENT_ME
+     */
+    public void addServiceIncludeFile( String serviceInclude )
+    {
+        m_serviceIncludes.add( serviceInclude );
+    }
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param capability DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public boolean implementsResourceCapability( QName capability )
+    {
+        return m_resourceDef.implementsResourceCapability( capability );
+    }
 
-    public void setServiceMethodMap(Map allOperations)
+    public void setServiceMethodMap( Map allOperations )
     {
         m_serviceMethodMap = allOperations;
     }
@@ -804,7 +816,7 @@
         return m_resourceDef.getBindingName();
     }
 
-    public void setWsdlServiceName(QName wsdlServiceName)
+    public void setWsdlServiceName( QName wsdlServiceName )
     {
         m_wsdlServiceName = wsdlServiceName;
     }

Modified: webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/config.xml
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/config.xml?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/config.xml (original)
+++ webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/config.xml Thu Oct 20 08:05:34 2005
@@ -11,8 +11,8 @@
 	
 		<section id="intro">
 			<title>Introduction</title>
-			<p>Apache WSRF loads its configuration from a single XML file. WSRF looks for a file named wsrf-config.xml 
-			   in the root package of the WSRF webapp's classloader, so the file should live in the WEB-INF/classes
+			<p>Apache WSRF loads its configuration from an XML file named wsrf-config.xml, which it expects to find
+			   in the root package of the WSRF webapp's classloader. The file should reside in the WEB-INF/classes
 			   subdirectory of the WSRF webapp. The wsrf-config.xml file is expected to be in the Spring Framework's 
 			   spring-beans.xml format,
 			   which basically defines a set of Java beans and the information necessary for the Spring bean factory 
@@ -64,6 +64,19 @@
     <property name="serviceClass"><value>org.apache.ws.resource.example.filesystem.FilesystemService</value></property>
     <property name="resourceClass"><value>org.apache.ws.resource.example.filesystem.FilesystemResource</value></property>
     <property name="resourceIdentifierReferenceParameterName"><value>{http://ws.apache.org/resource/example/filesystem}ResourceIdentifier</value></property>
+    <property name="metadataConfig">
+      <bean class="org.apache.ws.metadata.MetadataConfiguration">
+	     <constructor-arg>
+	       <list>		  
+		      <bean class="org.apache.ws.metadata.MetadataEntry">     
+  		        <property name="dialect"><value>http://schemas.xmlsoap.org/wsdl/</value></property>  
+ 		        <property name="identifier"><value>http://ws.apache.org/resource/example/filesystem</value></property>   
+		        <property name="location"><value>wsdl/Filesystem.wsdl</value></property>	    
+		      </bean>	 
+	       </list>
+	     </constructor-arg>	    
+	   </bean> 
+    </property>    
   </bean>]]></source>
 					<p>The <code>id</code> attribute of the bean element is an identifier that uniquely identifies the bean definition in the config file. 
 					It must be a valid XML ID and unique among the other bean defintions in the configuration file, but otherwise, its value is arbitrary. The <code>class</code> attribute specifies the full classname of the resource home class for this WSRF service. The "portComponentName" property indicates the unique deployment name for the WSRF service (i.e. the service name from Axis' server-config.wsdd or the last portion of the service's endpoint URL). The <code>serviceClass</code> property points to the 
@@ -78,7 +91,7 @@
 					<strong><code>SINGLETON</code></strong> WS-Resource and hence no resource id WS-Addressing reference parameter is expected in the SOAP header.
           				</p>
 
-					<p>The optional <code>metadataConfig</code> property can be used to associate one or more metadata XML documents with this WSRF service. See the metadata section of the developer's guide.</p>
+					<p>The optional <code>metadataConfig</code> property can be used to associate one or more metadata XML documents with this WSRF service (e.g. the service's WSDL). For more information on metadata, see <a href="metadata.html">Adding Service Metadata</a>.</p>
           									
 		</section>
 				

Modified: webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/metadata.xml
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/metadata.xml?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/metadata.xml (original)
+++ webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/metadata.xml Thu Oct 20 08:05:34 2005
@@ -1,6 +1,8 @@
 <?xml version="1.0"?>
+
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
           "http://forrest.apache.org/dtd/document-v20.dtd">
+
 <document>
 	<header>
 		<title>Adding Service Metadata</title>
@@ -59,17 +61,17 @@
 		
 		<section>
 			<title>Modify the Configuration File</title>
-			<p>The WSRF configuration file must be modified to include a metadata bean for your service as well as configurations that define where your metadata files are located.</p>
+			<p>The WSRF configuration file must be modified to include a metadata bean for your service that defines your metadata documents and where they are located.</p>
 			<p>To update the WSRF configuration file to include metadata information:</p>
 			<ol>
 				<li>Using a text editor, open <code>wsrf-config.xml</code> in the <code>WEB-INF/classes</code> directory.</li>
 				<li>Add the following property to the ResourceHome bean, with which you would like to associate metadata:
 				<source><![CDATA[
     <property name="metadataConfig">
-    <bean class="org.apache.ws.util.jndi.tools.MetadataConfigImpl">
+    <bean class="org.apache.ws.metadata.MetadataConfiguration">
 	  <constructor-arg>
 	    <list>		  
-		<bean class="org.apache.ws.util.jndi.tools.MetadataEntry">     
+		<bean class="org.apache.ws.metadata.MetadataEntry">     
 		  <property name="dialect">    
 		    <value>http://schemas.xmlsoap.org/wsdl/</value>    
 		  </property>  
@@ -84,12 +86,12 @@
 	  </constructor-arg>	    
 	</bean> 
     </property>	 ]]></source>
-					<p>The <code>org.apache.ws.util.jndi.tools.MetadataConfigImpl</code> object containing the metadata is available via the ResourceHome interface, which is available via the ResourceContext  - i.e. <code>getResourceContext().getResourceHome().getMetadataConfig()</code>
+					<p>The <code>org.apache.ws.metadata.MetadataConfiguration</code> object containing the metadata is available via the ResourceHome interface, which is available via the ResourceContext - i.e. <code>getResourceContext().getResourceHome().getMetadataConfig()</code>
 					</p>
 				</li>
-				<li>The <code>org.apache.ws.util.jndi.tools.MetadataConfigImpl</code> contains a list of <code>MetadataEntry</code> bean elements. It's properties include a <code>dialect</code> 
-				property that defines the type of the data (xsd, wsdl, etc...) , an identifier property that uniquely identifies a particular document and is typically a targetNamespace and a location which is either a file URL, http URL or a classname (which would be loaded through the Classloader). The 
-				following example demonstrates an entry for the SubscriptionHome's definition of its WSDL.<source><![CDATA[
+				<li>The <code>MetadataConfiguration</code> contains a set of <code>MetadataEntry</code> objects. Each MetadataEntry includes a <code>dialect</code> 
+				property that defines the type of the data (xsd, wsdl, etc...) , an identifier property that uniquely identifies a particular document (e.g. a WSDL targetNamespace), and a location which is either a file URL, http URL or a resource path (which would be loaded via the current class loader). The 
+				following example shows the SubscriptionManager service's  metadata configuration. Notice it has a single metadata entry which describes its WSDL.<source><![CDATA[
   <bean id="SubscriptionHome" class="org.apache.ws.notification.base.v2004_06.impl.SubscriptionHome" init-method="init">
     <property name="portComponentName">
       <value>SubscriptionManager</value>
@@ -104,10 +106,10 @@
       <value>{http://ws.apache.org/notification/base/service/SubscriptionManager}ResourceIdentifier</value>
     </property>
     <property name="metadataConfig">
-	<bean class="org.apache.ws.util.jndi.tools.MetadataConfigImpl" singleton="true">
+	<bean class="org.apache.ws.metadata.MetadataConfiguration" singleton="true">
 	  <constructor-arg>
 	    <list>		  
-		<bean class="org.apache.ws.util.jndi.tools.MetadataEntry">     
+		<bean class="org.apache.ws.metadata.MetadataEntry">     
 		  <property name="dialect">    
 		    <value>http://schemas.xmlsoap.org/wsdl/</value>    
 		  </property>  

Modified: webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/singleton.xml
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/singleton.xml?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/singleton.xml (original)
+++ webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/singleton.xml Thu Oct 20 08:05:34 2005
@@ -12,7 +12,7 @@
 			<title>Introduction</title>
 			<p>You can create a singleton service if only a single instance of a resource is required. If a service is a singleton, no resource ID parameter is expected in the 
 			header of requests sent to the service. To create a singleton service, you must create a single instance of the resource in the generated home class and modify the deployed 
-			jndi-config.xml file.
+			wsrf-config.xml file.
 			</p>
 		</section>
 		<section>
@@ -27,15 +27,15 @@
     }			]]></source>
 		</section>
 		<section>
-			<title>Modify the JNDI Configuration File</title>
-			<p>To update the JNDI configuration file for a singleton service:</p>
+			<title>Modify the WSRF Configuration File</title>
+			<p>To update the WSRF configuration file for a singleton service:</p>
 			<ol>
-				<li>Using a text editor, open <code>jndi-config.xml</code> in the <code>WEB-INF/classes</code> directory.</li>
-				<li>From the <code><![CDATA[<service name="your_service">]]></code> block, remove the <code>resourceIdentifierReferenceParameterName</code> parameter. 
+				<li>Using a text editor, open <code>wsrf-config.xml</code> in the <code>WEB-INF/classes</code> directory.</li>
+				<li>From the <code><![CDATA[<bean name="YourSingletonHome" class="org.example.YourSingletonHome" init-method="init">]]></code> block, remove the <code>resourceIdentifierReferenceParameterName</code> property element. 
 				This parameter is not required for a singleton. Removing this entry ensures that Apache WSRF does not look for a resource id WS-Addressing reference parameter in the SOAP header.</li>
-				<li>Save and close jndi-config.xml.</li>
+				<li>Save and close wsrf-config.xml.</li>
 				<li>Restart Tomcat if it is already started.
-				<note>The service entry in jndi-config is only present if the service has been deployed.</note>
+				<note>A resource home entry in wsrf-config.xml will only be present if your service has been deployed.</note>
 				</li>
 			</ol>
 		</section>

Modified: webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml (original)
+++ webservices/wsrf/trunk/src/site/content/xdocs/dev_guide/wsdl_tool.xml Thu Oct 20 08:05:34 2005
@@ -1,143 +1,143 @@
-<?xml version="1.0"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
-          "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
-	<header>
-		<title>Using Wsdl2Java</title>
-	</header>
-	<body>
-		<section>
-			<title>Introduction</title>
-			<p>The Wsdl2Java tool is used to generate a set of artificats for a WS Resource. The artifacts include:</p>
-			<ul>
-				<li>A set of Java classes based on the WSDL definition. This includes a service, resource, and 
-				home class. Some of the Java code will need to be manually edited after the files are generated.</li>
-				<li>Interfaces for custom operations.</li>
-				<li>Java bindings for all XML schema types that are defined in the WSDL. The interfaces and classes are 
-				created using the <a href="ext:xmlbeans.apache.org">XMLBeans</a> schema compiler</li>
-				<li>An Axis Web Service Deployment Descriptor (WSDD) for your service (<em>service</em>_deploy.wsdd). This file is used to deploy your service to 
-				Axis.</li>
-				<li>A JNDI resource configuration file for your service (<em>service</em>_jndi-config.xml). The file is used to setup the in-memory JNDI context for
-				your generated service, resource, and home classes.</li>
-			</ul>
-			<p>The tool saves you a great deal of time, since these files do not have to be created from scratch. You simply pass the tool a WSRF WSDL and the files 
-			are automatically generated. You can use the tool directly or you can use an Ant task.
-			</p>
-		</section>
-		<section>
-			<title>Ant Task</title>
-			<p>The Wsdl2Java tool can be invoked using the <code>wsdl2Java</code> Ant task (<code>org.apache.ws.resource.tool.Wsdl2JavaTask</code>). The 
-			<code>INSTALL_DIR/template/build.xml</code> script contains a target that already implements this task.</p>
-			<p>To use the target:</p>
-			<ol>
-				<li>copy INSTALL_DIR/template/build.xml and build.properties to any directory. This directory will be referred to as <code>WORK_DIR</code>.</li>
-				<li>Using a text editor, open <code>WORK_DIR/build.properties</code>.</li>
-				<li>Uncomment the <code>wsrf.webapp.dir</code> property and set it to the location where the WSRF Web application is installed. If you are using 
-				Tomcat and have the <code>CATALINA_HOME</code> environment variable set, you do not need to modify this property.</li>
-				<li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
-				<li>Copy your WSRF WSDL to <code>WORK_DIR</code>. If your WSDL depends on a schema that is not accessible over the network, you must copy the 
-				schema to this directory as well.</li>
-				<li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
-				<li>Run the following command. 			
-			<source>ant generate</source>
-					<p>Check <code>WORK_DIR/generated</code> to see the generated files.
-				</p>
-				</li>
-			</ol>
-			<section>
-				<title>Task Definition</title>
-				<p>The task is defined as follows :</p>
-				<source><![CDATA[
-<taskdef name="wsdl2Java" 
- 	 classname="org.apache.ws.resource.tool.Wsdl2JavaTask" 
- 	 classpath="path/to/wsrf.jar" />  ]]></source>
-				<p>
-					<strong>Parameters</strong>
-				</p>
-				<p>The task takes the following parameters:</p>
-				<table>
-					<tr>
-						<th>Attribute</th>
-						<th>Description</th>
-						<th>Required</th>
-					</tr>
-					<tr>
-						<td>wsdl</td>
-						<td>Enter the full path to a WSRF WSDL file.</td>
-						<td>Yes, unless a <code>wsdls</code> parameter is used. </td>
-					</tr>
-					<tr>
-						<td>wsdls</td>
-						<td>Entered as a nested element following the rules of fileset. This parameter is used instead of the <code>wsdl</code> parameter to indicate multiple 
-						WSRF WSDLs to be converted.</td>
-						<td>No</td>
-					</tr>
-					<tr>
-						<td>classpath</td>
-						<td>The classpath to be passed to the XMLBeans schema compiler. The classpath should reference the all the jars in the 
-						<code>INSTALL_DIR/wsrf/webapp/lib</code> and <code>/classes</code> directories.</td>
-						<td>Yes</td>
-					</tr>
-					<tr>
-						<td>classpathref</td>
-						<td>Adds a classpath, given as reference to a path defined elsewhere.</td>
-						<td>No</td>
-					</tr>
-					<tr>
-						<td>outputdir</td>
-						<td>Enter a directory where the generated files will be placed.</td>
-						<td>Yes</td>
-					</tr>
-					<tr>
-						<td>verbose</td>
-						<td>Enter <code>true</code> to increase build message output.</td>
-						<td>No, default is <code>false</code>
-						</td>
-					</tr>
-					<tr>
-						<td>proxyHost</td>
-						<td>Enter the Host IP address of a proxy that is used to connect to the Internet.</td>
-						<td>No</td>
-					</tr>
-					<tr>
-						<td>proxyPort</td>
-						<td>Enter the Port number of a proxy that is used to connect to the Internet.</td>
-						<td>No</td>
-					</tr>
-					<tr>
-						<td>nonProxyHosts</td>
-						<td>Enter the Host IP address separated by "|" to indicate Hosts that do not require a proxy.</td>
-						<td>No</td>
-					</tr>
-				</table>
-				<p>
-					<strong>Example</strong>
-				</p>
-				<p>The following example generates files for a single WSDL and places the generated files in a subdirectory 
-			 of the current directory named <code>generated</code>. To simplify the example, the classpath is referenced. You must set the <code>${wsrf.home}</code> Ant property to <code> 
-			 INSTALL_DIR</code> (e.g. /opt/wsrf-1.1).</p>
-				<source><![CDATA[
-			 
-	<property name="wsrf.webapp.dir" location="${wsrf.home}/webapps/wsrf" />
-	<path id="wsrf.classpath.id">
-          <pathelement location="${wsrf.webapp.dir}/WEB-INF/classes" />
-          <fileset dir="${wsrf.webapp.dir}/WEB-INF/lib" includes="*.jar" />
-        </path>
-
-        <taskdef name="wsdl2Java" classname="org.apache.ws.resource.tool.Wsdl2JavaTask" classpath="wsrf.classpath.id" />
-
-        <wsdl2Java wsdl="path/to/your.wsdl"
-                   outputdir="generated"                   
-                   classpath="wsrf.classpath.id" />]]></source>
-				<p>If you want to generate the files for multiple WSDLs, you can use:</p>
-				<source><![CDATA[
-
-	<wsdl2Java outputdir="generated" classpath="wsrf.classpath.id" />
-	   <wsdls dir="path/to/wsdls/">
-             <include name="**/*.wsdl" />	  
-          </wsdls>
-       </wsdl2Java>]]></source>
-			</section>
-		</section>
-	</body>
-</document>
+<?xml version="1.0"?>
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+          "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+	<header>
+		<title>Using Wsdl2Java</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>The Wsdl2Java tool is used to generate a set of artificats for a WS-Resource. The artifacts include:</p>
+			<ul>
+				<li>A set of Java classes based on the WSDL definition. This includes a service, resource, and 
+				home class. Some of the Java code will need to be manually edited after the files are generated.</li>
+				<li>Interfaces for custom operations.</li>
+				<li>Java bindings for all XML schema types that are defined in the WSDL. The interfaces and classes are 
+				created using the <a href="ext:xmlbeans.apache.org">XMLBeans</a> schema compiler</li>
+				<li>An Axis Web Service Deployment Descriptor (WSDD) for your service (<em>service</em>_deploy.wsdd). This file is used to deploy your service to Axis.</li>
+				<li>A WSRF configuration file for the resource home associated with your service (<em>service</em>_wsrf-config.xml). This file defines the information necessary for Apache WSRF to initialize and dispatch requests to your service.</li>
+			</ul>
+			<p>The tool saves you a great deal of time, since these files do not have to be created from scratch. You simply pass the tool a WSRF WSDL and the files 
+			are automatically generated. You can use the tool directly or you can use an Ant task.
+			</p>
+		</section>
+		<section>
+			<title>Ant Task</title>
+			<p>The Wsdl2Java tool can be invoked using the <code>wsdl2Java</code> Ant task (<code>org.apache.ws.resource.tool.Wsdl2JavaTask</code>). The 
+			<code>INSTALL_DIR/template/build.xml</code> script contains a target that already implements this task.</p>
+			<p>To use the target:</p>
+			<ol>
+				<li>Copy INSTALL_DIR/template/build.xml and build.properties to any directory. This directory will be referred to as <code>WORK_DIR</code>.</li>
+				<li>Using a text editor, open <code>WORK_DIR/build.properties</code>.</li>
+				<li>Uncomment the <code>wsrf.webapp.dir</code> property and set it to the location where the WSRF Web application is installed. If you are using 
+				Tomcat and have the <code>CATALINA_HOME</code> environment variable set, you do not need to modify this property.</li>
+				<li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
+				<li>Copy your WSRF WSDL to <code>WORK_DIR</code>. If your WSDL depends on a schema that is not accessible over the network, you must copy the 
+				schema to this directory as well.</li>
+				<li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
+				<li>Run the following command. 			
+			<source>ant generate</source>
+					<p>Check <code>WORK_DIR/generated</code> to see the generated files.
+				</p>
+				</li>
+			</ol>
+			<section>
+				<title>Task Definition</title>
+				<p>The task is defined as follows:</p>
+				<source><![CDATA[
+<taskdef name="wsdl2Java" 
+ 	 classname="org.apache.ws.resource.tool.Wsdl2JavaTask" 
+ 	 classpath="path/to/wsrf.jar" />  ]]></source>
+				<p>
+					<strong>Parameters</strong>
+				</p>
+				<p>The task takes the following parameters:</p>
+				<table>
+					<tr>
+						<th>Attribute</th>
+						<th>Description</th>
+						<th>Required</th>
+					</tr>
+					<tr>
+						<td>wsdl</td>
+						<td>Enter the full path to a WSRF WSDL file.</td>
+						<td>Yes, unless a <code>wsdls</code> parameter is used. </td>
+					</tr>
+					<tr>
+						<td>wsdls</td>
+						<td>Entered as a nested element following the rules of fileset. This parameter is used instead of the <code>wsdl</code> parameter to indicate multiple 
+						WSRF WSDLs to be converted.</td>
+						<td>No</td>
+					</tr>
+					<tr>
+						<td>classpath</td>
+						<td>The classpath to be passed to the XMLBeans schema compiler. The classpath should reference all the jars in the 
+						<code>INSTALL_DIR/wsrf/webapp/lib</code>, as well as the <code>/classes</code> directory.</td>
+						<td>Yes</td>
+					</tr>
+					<tr>
+						<td>classpathref</td>
+						<td>Adds a classpath, given as reference to a path defined elsewhere.</td>
+						<td>No</td>
+					</tr>
+					<tr>
+						<td>outputdir</td>
+						<td>Enter a directory where the generated files will be placed.</td>
+						<td>Yes</td>
+					</tr>
+					<tr>
+						<td>verbose</td>
+						<td>Enter <code>true</code> to increase build message output.</td>
+						<td>No, default is <code>false</code>
+						</td>
+					</tr>
+					<tr>
+						<td>proxyHost</td>
+						<td>Enter the Host IP address of a proxy that is used to connect to the Internet.</td>
+						<td>No</td>
+					</tr>
+					<tr>
+						<td>proxyPort</td>
+						<td>Enter the Port number of a proxy that is used to connect to the Internet.</td>
+						<td>No</td>
+					</tr>
+					<tr>
+						<td>nonProxyHosts</td>
+						<td>Enter the Host IP address separated by "|" to indicate Hosts that do not require a proxy.</td>
+						<td>No</td>
+					</tr>
+				</table>
+				<p>
+					<strong>Example</strong>
+				</p>
+				<p>The following example generates files for a single WSDL and places the generated files in a subdirectory 
+			 of the current directory named <code>generated</code>. To simplify the example, the classpath is referenced. You must set the <code>${wsrf.home}</code> Ant property to <code> 
+			 INSTALL_DIR</code> (e.g. /opt/wsrf-1.1).</p>
+				<source><![CDATA[
+			 
+	<property name="wsrf.webapp.dir" location="${wsrf.home}/webapps/wsrf" />
+	<path id="wsrf.classpath.id">
+          <pathelement location="${wsrf.webapp.dir}/WEB-INF/classes" />
+          <fileset dir="${wsrf.webapp.dir}/WEB-INF/lib" includes="*.jar" />
+        </path>
+
+        <taskdef name="wsdl2Java" classname="org.apache.ws.resource.tool.Wsdl2JavaTask" classpath="wsrf.classpath.id" />
+
+        <wsdl2Java wsdl="path/to/your.wsdl"
+                   outputdir="generated"                   
+                   classpath="wsrf.classpath.id" />]]></source>
+				<p>If you want to generate the files for multiple WSDLs, you can use:</p>
+				<source><![CDATA[
+
+	<wsdl2Java outputdir="generated" classpath="wsrf.classpath.id" />
+	   <wsdls dir="path/to/wsdls/">
+             <include name="**/*.wsdl" />	  
+          </wsdls>
+       </wsdl2Java>]]></source>
+			</section>
+		</section>
+	</body>
+</document>

Modified: webservices/wsrf/trunk/src/site/content/xdocs/tutorial/wsdl2java.xml
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/site/content/xdocs/tutorial/wsdl2java.xml?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/site/content/xdocs/tutorial/wsdl2java.xml (original)
+++ webservices/wsrf/trunk/src/site/content/xdocs/tutorial/wsdl2java.xml Thu Oct 20 08:05:34 2005
@@ -1,49 +1,49 @@
-<?xml version="1.0"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
-          "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
-	<header>
-		<title>Run the Wsdl2Java Tool</title>
-	</header>
-	<body>
-		<section>
-			<title>Introduction</title>
-			<p>In this step of the tutorial, the Apache WSRF Wsdl2Java tool is used to generate a set of artifacts for the filesystem example. The tool takes a WSDL 
-			as its input and outputs the following artifacts:
-      			</p>
-			<ul>
-				<li>
-					<a href="ext:xmlbeans.apache.org">XMLBeans</a> for all XML Schema types and elements defined in the types section of the WSDL</li>
-				<li>an abstract base Resource class</li>
-				<li>an abstract base Service class</li>
-				<li>an abstract base Home class</li>
-				<li>a Resource class</li>
-				<li>a Service class</li>
-				<li>a Home class</li>
-				<li>a CustomOperationsPortType interface</li>
-				<li>a PropertyQNames interface</li>
-				<li>an Axis deploy.wsdd file</li>
-				<li>a jndi-config.xml file</li>
-			</ul>
-			<note>The abstract classes and interfaces should NEVER be modified.</note>
-		</section>
-		<section>
-			<title>Generating the Artifacts</title>
-			<p>The Ant script (<code>WORK_DIR/build.xml</code>) contains a target for the Wsdl2Java tool. To generate the artifacts for the
-			 filesystem example:</p>
-			<ol>
-				<li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
-				<li>Enter the following command: <code>ant generate</code>
-				</li>
-			</ol>
-			<p>The artifacts are generated and placed in <code>WORK_DIR/generated</code>. For more information about the
-			  WSDL2Java tool and the generated artifacts, see <a href="site:tool">Using the WSDL2Java Tool</a> in the Developer's Guide.</p>
-			<p>
-				<img src="images/back.gif" alt="go to the previous step"/>
-				<a href="site:wsdl">Back</a>
-				<img src="images/next.gif" alt="go to the next step"/>
-				<a href="site:modhome">Next</a>
-			</p>
-		</section>
-	</body>
-</document>
+<?xml version="1.0"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+          "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+	<header>
+		<title>Run the Wsdl2Java Tool</title>
+	</header>
+	<body>
+		<section>
+			<title>Introduction</title>
+			<p>In this step of the tutorial, the Apache WSRF Wsdl2Java tool is used to generate a set of artifacts for the filesystem example. The tool takes a WSDL 
+			as its input and outputs the following artifacts:
+      			</p>
+			<ul>
+				<li>
+					<a href="ext:xmlbeans.apache.org">XMLBeans</a> for all XML Schema types and elements defined in the types section of the WSDL</li>
+				<li>an abstract base Resource class</li>
+				<li>an abstract base Service class</li>
+				<li>an abstract base Home class</li>
+				<li>a Resource class</li>
+				<li>a Service class</li>
+				<li>a Home class</li>
+				<li>a CustomOperationsPortType interface</li>
+				<li>a PropertyQNames interface</li>
+				<li>an Axis deploy.wsdd file</li>
+				<li>a wsrf-config.xml file</li>
+			</ul>
+			<note>The abstract classes and interfaces should NEVER be modified.</note>
+		</section>
+		<section>
+			<title>Generating the Artifacts</title>
+			<p>The Ant script (<code>WORK_DIR/build.xml</code>) contains a target for the Wsdl2Java tool. To generate the artifacts for the
+			 filesystem example:</p>
+			<ol>
+				<li>From a command prompt, change directories to <code>WORK_DIR</code>.</li>
+				<li>Enter the following command: <code>ant generate</code>
+				</li>
+			</ol>
+			<p>The artifacts are generated and placed in <code>WORK_DIR/generated</code>. For more information about the
+			  WSDL2Java tool and the generated artifacts, see <a href="site:tool">Using the WSDL2Java Tool</a> in the Developer's Guide.</p>
+			<p>
+				<img src="images/back.gif" alt="go to the previous step"/>
+				<a href="site:wsdl">Back</a>
+				<img src="images/next.gif" alt="go to the next step"/>
+				<a href="site:modhome">Next</a>
+			</p>
+		</section>
+	</body>
+</document>

Modified: webservices/wsrf/trunk/src/templates/wsrf-config.xml.vm
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/templates/wsrf-config.xml.vm?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/templates/wsrf-config.xml.vm (original)
+++ webservices/wsrf/trunk/src/templates/wsrf-config.xml.vm Thu Oct 20 08:05:34 2005
@@ -13,11 +13,12 @@
     <property name="serviceClass"><value>${package}.${serviceName}Service</value></property>
     <property name="resourceClass"><value>${package}.${serviceName}Resource</value></property>
     <property name="resourceIdentifierReferenceParameterName"><value>{${resourcekey.NamespaceURI}}${resourcekey.LocalPart}</value></property>
+#if ( $generated.hasMetadata )
     <property name="metadataConfig">
-      <bean class="org.apache.ws.util.jndi.tools.MetadataConfigImpl">
+      <bean class="org.apache.ws.metadata.MetadataConfiguration">
 	    <constructor-arg>
 	      <list>
-		    <bean class="org.apache.ws.util.jndi.tools.MetadataEntry">
+		    <bean class="org.apache.ws.metadata.MetadataEntry">
 		      <property name="dialect">
 		        <value>http://schemas.xmlsoap.org/wsdl/</value>
 		      </property>
@@ -32,6 +33,7 @@
 	    </constructor-arg>
 	  </bean>
     </property>
+#end
   </bean>
 
 #foreach( $includeFile in $generated.springBeanDefIncludeLocations )

Modified: webservices/wsrf/trunk/src/test/org/apache/ws/resource/metadataexchange/v2004_09/jndi-config.xml
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/test/org/apache/ws/resource/metadataexchange/v2004_09/jndi-config.xml?rev=326920&r1=326919&r2=326920&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/test/org/apache/ws/resource/metadataexchange/v2004_09/jndi-config.xml (original)
+++ webservices/wsrf/trunk/src/test/org/apache/ws/resource/metadataexchange/v2004_09/jndi-config.xml Thu Oct 20 08:05:34 2005
@@ -48,7 +48,7 @@
             </parameter>            
          </resourceParams>
       </resource>
-      <resource name="metadata" type="org.apache.ws.util.jndi.tools.MetadataConfigImpl">
+      <resource name="metadata" type="org.apache.ws.metadata.MetadataConfiguration">
          <metadata-config>
 
 	     <!-- classpath -->