You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/04/03 09:07:48 UTC
svn commit: r1463842 - in /tomee/tomee/trunk: ./ container/openejb-core/
container/openejb-core/src/main/java/org/apache/openejb/config/
Author: rmannibucau
Date: Wed Apr 3 07:07:47 2013
New Revision: 1463842
URL: http://svn.apache.org/r1463842
Log:
TOMEE-884 removing wsdl4j from webprofile distrib
Modified:
tomee/tomee/trunk/container/openejb-core/pom.xml
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
tomee/tomee/trunk/pom.xml
Modified: tomee/tomee/trunk/container/openejb-core/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/pom.xml?rev=1463842&r1=1463841&r2=1463842&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/pom.xml (original)
+++ tomee/tomee/trunk/container/openejb-core/pom.xml Wed Apr 3 07:07:47 2013
@@ -91,11 +91,11 @@
javax.ws.rs,
javax.ws.rs.core,
javax.ws.rs.ext,
- javax.wsdl,
- javax.wsdl.extensions.http,
- javax.wsdl.extensions.soap,
- javax.wsdl.factory,
- javax.wsdl.xml,
+ javax.wsdl;resolution:=optional,,
+ javax.wsdl.extensions.http;resolution:=optional,,
+ javax.wsdl.extensions.soap;resolution:=optional,,
+ javax.wsdl.factory;resolution:=optional,,
+ javax.wsdl.xml;resolution:=optional,,
javax.xml.bind,
javax.xml.bind.annotation,
javax.xml.bind.annotation.adapters,
@@ -541,6 +541,7 @@
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1463842&r1=1463841&r2=1463842&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Wed Apr 3 07:07:47 2013
@@ -127,6 +127,7 @@ public class ConfigurationFactory implem
private static final Messages messages = new Messages(ConfigurationFactory.class);
private static final String IGNORE_DEFAULT_VALUES_PROP = "IgnoreDefaultValues";
+ private static final boolean WSDL4J_AVAILABLE = exists("javax.wsdl.xml.WSDLLocator");
private String configLocation;
private OpenEjbConfiguration sys;
@@ -144,6 +145,17 @@ public class ConfigurationFactory implem
this(!shouldAutoDeploy());
}
+ private static boolean exists(final String s) {
+ try {
+ ConfigurationFactory.class.getClassLoader().loadClass(s);
+ return true;
+ } catch (final ClassNotFoundException e) {
+ return false;
+ } catch (final NoClassDefFoundError e) {
+ return false;
+ }
+ }
+
private static boolean shouldAutoDeploy() {
final Options options = SystemInstance.get().getOptions();
final boolean b = options.get(ConfigurationFactory.OFFLINE_PROPERTY, false);
@@ -224,7 +236,7 @@ public class ConfigurationFactory implem
chain.add(new DebuggableVmHackery());
}
- if (options.get(WEBSERVICES_ENABLED, true)) {
+ if (options.get(WEBSERVICES_ENABLED, true) && WSDL4J_AVAILABLE) {
chain.add(new WsDeployer());
} else {
chain.add(new RemoveWebServices());
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?rev=1463842&r1=1463841&r2=1463842&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java Wed Apr 3 07:07:47 2013
@@ -63,9 +63,6 @@ import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
-import javax.wsdl.Definition;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.parsers.ParserConfigurationException;
@@ -675,23 +672,6 @@ public class ReadDescriptors implements
return wsdlMapping;
}
- public static Definition readWsdl(final URL url) throws OpenEJBException {
- final Definition definition;
- try {
- final WSDLFactory factory = WSDLFactory.newInstance();
- final WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", true);
- reader.setFeature("javax.wsdl.importDocuments", true);
- final WsdlResolver wsdlResolver = new WsdlResolver(new URL(url, ".").toExternalForm(), new InputSource(IO.read(url)));
- definition = reader.readWSDL(wsdlResolver);
- } catch (IOException e) {
- throw new OpenEJBException("Cannot read the wsdl file: " + url.toExternalForm(), e);
- } catch (Exception e) {
- throw new OpenEJBException("Encountered unknown error parsing the wsdl file: " + url.toExternalForm(), e);
- }
- return definition;
- }
-
public static Connector readConnector(final URL url) throws OpenEJBException {
Connector connector;
try {
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java?rev=1463842&r1=1463841&r2=1463842&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java Wed Apr 3 07:07:47 2013
@@ -18,6 +18,7 @@ package org.apache.openejb.config;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.core.webservices.JaxWsUtils;
+import org.apache.openejb.core.webservices.WsdlResolver;
import org.apache.openejb.jee.EnterpriseBean;
import org.apache.openejb.jee.HandlerChains;
import org.apache.openejb.jee.JndiConsumer;
@@ -32,18 +33,23 @@ import org.apache.openejb.jee.WebApp;
import org.apache.openejb.jee.WebserviceDescription;
import org.apache.openejb.jee.Webservices;
import org.apache.openejb.jee.oejb3.EjbDeployment;
+import org.apache.openejb.loader.IO;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.URLs;
+import org.xml.sax.InputSource;
import javax.jws.HandlerChain;
import javax.wsdl.Definition;
import javax.wsdl.Port;
import javax.wsdl.extensions.http.HTTPAddress;
import javax.wsdl.extensions.soap.SOAPAddress;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
import javax.xml.ws.soap.SOAPBinding;
import java.io.File;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
@@ -378,7 +384,7 @@ public class WsDeployer implements Dynam
wsdlUrl = new URL(baseUrl, wsdlFile);
}
- Definition definition = ReadDescriptors.readWsdl(wsdlUrl);
+ Definition definition = readWsdl(wsdlUrl);
module.getAltDDs().put(wsdlFile, definition);
return definition;
} catch (Exception e) {
@@ -388,6 +394,24 @@ public class WsDeployer implements Dynam
return null;
}
+ // don't put it in ReadDescriptors to respect classloader dependencies (wsdl4j is optional)
+ public static Definition readWsdl(final URL url) throws OpenEJBException {
+ final Definition definition;
+ try {
+ final WSDLFactory factory = WSDLFactory.newInstance();
+ final WSDLReader reader = factory.newWSDLReader();
+ reader.setFeature("javax.wsdl.verbose", true);
+ reader.setFeature("javax.wsdl.importDocuments", true);
+ final WsdlResolver wsdlResolver = new WsdlResolver(new URL(url, ".").toExternalForm(), new InputSource(IO.read(url)));
+ definition = reader.readWSDL(wsdlResolver);
+ } catch (IOException e) {
+ throw new OpenEJBException("Cannot read the wsdl file: " + url.toExternalForm(), e);
+ } catch (Exception e) {
+ throw new OpenEJBException("Encountered unknown error parsing the wsdl file: " + url.toExternalForm(), e);
+ }
+ return definition;
+ }
+
private URL getBaseUrl(DeploymentModule module) throws MalformedURLException {
File file = new File(module.getJarLocation());
if (!file.exists()) {
Modified: tomee/tomee/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1463842&r1=1463841&r2=1463842&view=diff
==============================================================================
--- tomee/tomee/trunk/pom.xml (original)
+++ tomee/tomee/trunk/pom.xml Wed Apr 3 07:07:47 2013
@@ -1357,7 +1357,7 @@
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
- <version>1.6.2</version>
+ <version>1.6.3</version>
</dependency>
<dependency>
<groupId>xmlunit</groupId>