From 6dd8d6a5652b2301a65f97dee17b5b0b9cfb038b Mon Sep 17 00:00:00 2001 From: nash Date: Sun, 26 Jul 2009 22:38:57 +0000 Subject: Fix TUSCANY-3172 (domain manager doesn't report errors cleanly to the nodes) git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@797997 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/assembly/xml/CompositeDocumentProcessor.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'branches/sca-java-1.5.1/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java') diff --git a/branches/sca-java-1.5.1/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java b/branches/sca-java-1.5.1/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java index b8e5330007..6abc28adde 100644 --- a/branches/sca-java-1.5.1/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java +++ b/branches/sca-java-1.5.1/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java @@ -23,6 +23,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URI; import java.net.URL; import java.net.URLConnection; @@ -119,10 +120,18 @@ public class CompositeDocumentProcessor extends BaseAssemblyProcessor implements try { URLConnection connection = url.openConnection(); connection.setUseCaches(false); - scdlStream = connection.getInputStream(); + try { + scdlStream = connection.getInputStream(); + } catch (IOException e) { + if (e.getClass() == IOException.class && connection instanceof HttpURLConnection + && ((HttpURLConnection)connection).getResponseCode() == HttpURLConnection.HTTP_INTERNAL_ERROR) { + error("HttpServerError", url, ((HttpURLConnection)connection).getResponseMessage()); + } + throw e; + } } catch (IOException e) { ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", url, ce); + error("ContributionReadException", url, e); throw ce; } return read(uri, scdlStream); @@ -161,11 +170,11 @@ public class CompositeDocumentProcessor extends BaseAssemblyProcessor implements } } catch ( IOException e ) { ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", scdlStream, ce); + error("ContributionReadException", scdlStream, e); throw ce; } catch ( Exception e ) { ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", scdlStream, ce); + error("ContributionReadException", scdlStream, e); //throw ce; } @@ -203,7 +212,7 @@ public class CompositeDocumentProcessor extends BaseAssemblyProcessor implements } catch (XMLStreamException e) { ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); + error("ContributionReadException", inputFactory, e); throw ce; } finally { try { -- cgit v1.2.3