You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2007/05/22 16:45:10 UTC
svn commit: r540601 -
/geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
Author: gawor
Date: Tue May 22 07:45:10 2007
New Revision: 540601
URL: http://svn.apache.org/viewvc?view=rev&rev=540601
Log:
added bits to generate the wsdl using wsgen. right now the code is commented out because of bugs in cxf
Modified:
geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
Modified: geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java?view=diff&rev=540601&r1=540600&r2=540601
==============================================================================
--- geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java Tue May 22 07:45:10 2007
@@ -41,17 +41,21 @@
import org.apache.cxf.jaxws.javaee.ServiceImplBeanType;
import org.apache.cxf.jaxws.javaee.WebserviceDescriptionType;
import org.apache.cxf.jaxws.javaee.WebservicesType;
+import org.apache.cxf.jaxws.support.JaxWsImplementorInfo;
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.cxf.client.CXFServiceReference;
import org.apache.geronimo.cxf.pojo.POJOWebServiceContainerFactoryGBean;
+import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.jaxws.JAXWSUtils;
import org.apache.geronimo.jaxws.PortInfo;
import org.apache.geronimo.jaxws.builder.EndpointInfoBuilder;
import org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder;
+import org.apache.geronimo.jaxws.builder.WsdlGenerator;
import org.apache.geronimo.jaxws.client.EndpointInfo;
import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.xbeans.geronimo.naming.GerServiceRefType;
@@ -157,7 +161,7 @@
return map;
} catch (FileNotFoundException e) {
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
} catch (IOException ex) {
throw new DeploymentException("Unable to read " + wsDDUrl, ex);
} catch (JAXBException ex) {
@@ -227,6 +231,47 @@
}
return in;
}
+
+ /*
+ @Override
+ protected void initialize(GBeanData targetGBean, Class serviceClass, PortInfo portInfo, Module module)
+ throws DeploymentException {
+ if (isWsdlSet(portInfo, serviceClass)) {
+ LOG.debug("Service " + portInfo.getServiceName() + " has WSDL.");
+ return;
+ }
+ LOG.debug("Service " + portInfo.getServiceName() + " does not have WSDL. Generating WSDL...");
+
+ WsdlGenerator generator = new WsdlGenerator();
+ generator.setSunSAAJ();
+
+ JaxWsImplementorInfo serviceInfo = new JaxWsImplementorInfo(serviceClass);
+
+ // set wsdl service
+ if (portInfo.getWsdlService() == null) {
+ generator.setWsdlService(serviceInfo.getServiceName());
+ } else {
+ generator.setWsdlService(portInfo.getWsdlService());
+ }
+
+ // set wsdl port
+ if (portInfo.getWsdlPort() == null) {
+ generator.setWsdlPort(serviceInfo.getEndpointName());
+ } else {
+ generator.setWsdlPort(portInfo.getWsdlPort());
+ }
+
+ String wsdlFile = generator.generateWsdl(module, serviceClass.getName(), module.getEarContext(), portInfo);
+ portInfo.setWsdlFile(wsdlFile);
+
+ LOG.debug("Generated " + wsdlFile + " for service " + portInfo.getServiceName());
+ }
+
+ private boolean isWsdlSet(PortInfo portInfo, Class serviceClass) {
+ return (portInfo.getWsdlFile() != null && !portInfo.getWsdlFile().trim().equals(""))
+ || JAXWSUtils.containsWsdlLocation(serviceClass, serviceClass.getClassLoader());
+ }
+ */
public static final GBeanInfo GBEAN_INFO;