You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ba...@apache.org on 2006/11/17 19:55:42 UTC

svn commit: r476249 - in /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description: builder/MDQConstants.java builder/WsdlComposite.java builder/WsdlGenerator.java impl/EndpointDescriptionImpl.java

Author: barrettj
Date: Fri Nov 17 10:55:41 2006
New Revision: 476249

URL: http://svn.apache.org/viewvc?view=rev&rev=476249
Log:
AXIS2-1731
Patch contributed by Roy Wood Jr.

Added:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlComposite.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlGenerator.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java?view=diff&rev=476249&r1=476248&r2=476249
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java Fri Nov 17 10:55:41 2006
@@ -36,4 +36,8 @@
     public static final String PROVIDER_SOURCE = "Provider<Source>";
     public static final String PROVIDER_SOAP = "Provider<SOAPMessage>";
     public static final String PROVIDER_DATASOURCE = "Provider<javax.activation.DataSource>";
+
+    public static final String WSDL_FILE_NAME = "WSDL_FILE_NAME";
+    public static final String SCHEMA_DOCS = "SCHEMA_DOCS";
+    public static final String WSDL_COMPOSITE = "WSDL_COMPOSITE";
 }

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlComposite.java?view=auto&rev=476249
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlComposite.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlComposite.java Fri Nov 17 10:55:41 2006
@@ -0,0 +1,63 @@
+package org.apache.axis2.jaxws.description.builder;
+
+import java.util.HashMap;
+import javax.wsdl.Definition;
+import org.apache.axiom.om.OMDocument;
+
+public class WsdlComposite {
+
+	Definition wsdlDefinition;
+	
+	HashMap <String, OMDocument> schemaMap;
+	
+	String wsdlFileName;
+
+	public WsdlComposite() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+
+	/**
+	 * @return Returns the schemaMap.
+	 */
+	public HashMap<String, OMDocument> getSchemaMap() {
+		return schemaMap;
+	}
+
+	/**
+	 * @return Returns the wsdlDefinition.
+	 */
+	public Definition getWsdlDefinition() {
+		return wsdlDefinition;
+	}
+
+	/**
+	 * @return Returns the wsdlFileName.
+	 */
+	public String getWsdlFileName() {
+		return wsdlFileName;
+	}
+
+	/**
+	 * @param schemaMap The schemaMap to set.
+	 */
+	public void setSchemaMap(HashMap<String, OMDocument> schemaMap) {
+		this.schemaMap = schemaMap;
+	}
+
+	/**
+	 * @param wsdlDefinition The wsdlDefinition to set.
+	 */
+	public void setWsdlDefinition(Definition wsdlDefinition) {
+		this.wsdlDefinition = wsdlDefinition;
+	}
+
+	/**
+	 * @param wsdlFileName The wsdlFileName to set.
+	 */
+	public void setWsdlFileName(String wsdlFileName) {
+		this.wsdlFileName = wsdlFileName;
+	}
+	
+	
+}

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlGenerator.java?view=diff&rev=476249&r1=476248&r2=476249
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WsdlGenerator.java Fri Nov 17 10:55:41 2006
@@ -1,8 +1,8 @@
 package org.apache.axis2.jaxws.description.builder;
 
-import javax.wsdl.Definition;
+import javax.xml.ws.WebServiceException;
 
 public interface WsdlGenerator {
 
-	public Definition generateWsdl(Class implClass);
+	public WsdlComposite generateWsdl(String implClass)throws WebServiceException;
 }

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java?view=diff&rev=476249&r1=476248&r2=476249
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java Fri Nov 17 10:55:41 2006
@@ -55,6 +55,7 @@
 import org.apache.axis2.jaxws.description.ServiceDescriptionWSDL;
 import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
 import org.apache.axis2.jaxws.description.builder.MDQConstants;
+import org.apache.axis2.jaxws.description.builder.WsdlComposite;
 import org.apache.axis2.jaxws.i18n.Messages;
 import org.apache.axis2.jaxws.util.WSDL4JWrapper;
 import org.apache.commons.logging.Log;
@@ -241,17 +242,24 @@
         
         buildDescriptionHierachy();
         
-        //Invoke the callback for generating the wsdl
+    	WsdlComposite wsdlComposite = null;
+        
+    	//Invoke the callback for generating the wsdl
         if (composite.getCustomWsdlGenerator() != null) {
-        	Definition wsdlDef = 
-        		composite.getCustomWsdlGenerator().generateWsdl((Class)axisService.getParameterValue(MDQConstants.SERVICE_CLASS));
+        	wsdlComposite = 
+        		composite.getCustomWsdlGenerator().generateWsdl((String)axisService.getParameterValue(MDQConstants.SERVICE_CLASS));
    					
+        	Definition wsdlDef = wsdlComposite.getWsdlDefinition();
+        	
         	try {
     			WSDL4JWrapper wsdl4jWrapper = new WSDL4JWrapper(composite.getWsdlURL(), wsdlDef);
     			getServiceDescriptionImpl().setGeneratedWsdlWrapper(wsdl4jWrapper);
             } catch (Exception e) {
                 throw ExceptionFactory.makeWebServiceException("EndpointDescriptionImpl: WSDLException thrown when attempting to instantiate WSDL4JWrapper ");
             }
+        } else {
+        	//TODO:Determine if we should always throw an exception on this, or at this point
+            //throw ExceptionFactory.makeWebServiceException("EndpointDescriptionImpl: Unable to find custom WSDL generator");
         }
 
         //Save the WSDL Definition
@@ -276,9 +284,33 @@
         wsdlLocationParameter.setName(MDQConstants.WSDL_LOCATION);
         wsdlLocationParameter.setValue(getAnnoWebServiceWSDLLocation());
 
+        //Save the WSDL File Name
+        //REVIEW: is it possible this won't always be set
+        Parameter wsdlFileName = new Parameter();
+        wsdlFileName.setName(MDQConstants.WSDL_FILE_NAME);
+        
+        //Save the Schema Doc
+        //REVIEW: is it possible this won't always be set
+        Parameter schemaDocs = new Parameter();
+        schemaDocs.setName(MDQConstants.SCHEMA_DOCS);
+        
+        //Save the WSDL Composite
+        //REVIEW: is it possible this won't always be set
+        Parameter wsdlCompositeParameter = new Parameter();
+        wsdlCompositeParameter.setName(MDQConstants.WSDL_COMPOSITE);
+        wsdlCompositeParameter.setValue(wsdlComposite);
+        
+        if (wsdlComposite != null) {
+        	wsdlFileName.setValue(wsdlComposite.getWsdlFileName());
+        	schemaDocs.setValue(wsdlComposite.getSchemaMap());
+        }
+        
         try {
         	axisService.addParameter(wsdlDefParameter);
         	axisService.addParameter(wsdlLocationParameter);                        
+        	axisService.addParameter(wsdlFileName);
+        	axisService.addParameter(schemaDocs); 
+        	axisService.addParameter(wsdlCompositeParameter);
         } catch (Exception e) {
         	throw ExceptionFactory.makeWebServiceException("EndpointDescription: Unable to add parms. to AxisService");
         }



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