You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ke...@apache.org on 2008/04/02 04:03:04 UTC
svn commit: r643684 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
Author: keithc
Date: Tue Apr 1 19:03:02 2008
New Revision: 643684
URL: http://svn.apache.org/viewvc?rev=643684&view=rev
Log:
Moving the WSDLReader logic to a common place. They were in two places before.
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java?rev=643684&r1=643683&r2=643684&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java Tue Apr 1 19:03:02 2008
@@ -88,12 +88,15 @@
import org.apache.ws.commons.schema.utils.NamespaceMap;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
import java.io.InputStream;
+import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
@@ -149,6 +152,7 @@
File file = new File(wsdlUri);
fullPath = file.getAbsolutePath();
}
+ setBaseUri(fullPath);
Description description = readInTheWSDLFile(fullPath);
DescriptionElement descriptionElement = description.toElement();
@@ -466,25 +470,7 @@
description = readInTheWSDLFile(wsdlURI);
descriptionElement = description.toElement();
} else if (in != null) {
-
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
- .newInstance();
- documentBuilderFactory.setNamespaceAware(true);
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
- Document document = documentBuilder.parse(in);
-
- WSDLReader reader = DOMWSDLFactory.newInstance().newWSDLReader();
- if (customWSDLResolver != null) {
- reader.setURIResolver(customWSDLResolver);
- }
- // This turns on WSDL validation which is set off by default.
- reader.setFeature(WSDLReader.FEATURE_VALIDATION, true);
- WSDLSource wsdlSource = reader.createWSDLSource();
- wsdlSource.setSource(document.getDocumentElement());
- if (getBaseUri() != null && !"".equals(getBaseUri())) {
- wsdlSource.setBaseURI(new URI(getBaseUri()));
- }
- description = reader.readWSDL(wsdlSource);
+ description = readInTheWSDLFile(in);
descriptionElement = description.toElement();
} else {
throw new AxisFault("No resources found to read the wsdl");
@@ -1168,20 +1154,65 @@
}
private Description readInTheWSDLFile(String wsdlURI) throws WSDLException {
+ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
+ .newInstance();
+ documentBuilderFactory.setNamespaceAware(true);
+ DocumentBuilder documentBuilder;
+ Document document = null;
+ try {
+ documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ document = documentBuilder.parse(wsdlURI);
+ } catch (ParserConfigurationException e) {
+ AxisFault.makeFault(e);
+ } catch (IOException e) {
+ AxisFault.makeFault(e);
+ } catch (SAXException e) {
+ AxisFault.makeFault(e);
+ }
+ return readInTheWSDLFile(document);
+ }
+
+ private Description readInTheWSDLFile(InputStream inputStream) throws WSDLException {
+
+ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
+ .newInstance();
+ documentBuilderFactory.setNamespaceAware(true);
+ DocumentBuilder documentBuilder;
+ Document document = null;
+ try {
+ documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ document = documentBuilder.parse(inputStream);
+ } catch (ParserConfigurationException e) {
+ AxisFault.makeFault(e);
+ } catch (IOException e) {
+ AxisFault.makeFault(e);
+ } catch (SAXException e) {
+ AxisFault.makeFault(e);
+ }
+ return readInTheWSDLFile(document);
+ }
- WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
+ private Description readInTheWSDLFile(Document document) throws WSDLException {
+ WSDLReader reader = DOMWSDLFactory.newInstance().newWSDLReader();
if (customWSDLResolver != null) {
reader.setURIResolver(customWSDLResolver);
}
// This turns on WSDL validation which is set off by default.
reader.setFeature(WSDLReader.FEATURE_VALIDATION, true);
-
-// Log when and from where the WSDL is loaded.
+ WSDLSource wsdlSource = reader.createWSDLSource();
+ wsdlSource.setSource(document.getDocumentElement());
+ if (getBaseUri() != null && !"".equals(getBaseUri())) {
+ try {
+ wsdlSource.setBaseURI(new URI(getBaseUri()));
+ } catch (URISyntaxException e) {
+ AxisFault.makeFault(e);
+ }
+ }
if (log.isDebugEnabled()) {
log.debug("Reading 2.0 WSDL with wsdl uri = " + wsdlURI);
log.debug(" the stack at this point is: " + stackToString());
}
- return reader.readWSDL(wsdlURI);
+ return reader.readWSDL(wsdlSource);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org