Merge r1003145 Add timeout for stock quote service invocation and improve handling of connectivity errors

git-svn-id: https://svn.apache.org/repos/asf/tuscany/sca-java-1.x/trunk@1027517 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java b/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java
index c2d0e8a..2420c4e 100644
--- a/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java
+++ b/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java
@@ -28,6 +28,7 @@
 import org.apache.log4j.Level;
 import org.apache.log4j.LogManager;
 import org.apache.log4j.spi.LoggerRepository;
+import org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker;
 import org.osoa.sca.ServiceRuntimeException;
 import org.osoa.sca.annotations.Property;
 import org.osoa.sca.annotations.Reference;
@@ -76,19 +77,17 @@
             // first try to get a live stock quote from the web service
             String xml = null;
             try {
+                // set a small timeout value in case the server doesn't respond
+                Axis2BindingInvoker.GLOBAL_AXIS_TIMEOUT = 8000L;
+
                 OMElement quotes = stockQuote.GetQuote(request);
                 xml = quotes.getText();
                 if (!xml.startsWith("<")) {
                     System.out.println("Server responded: " + xml);
                     throw new IllegalStateException("Unexpected response from server");
                 }
-            } catch (Exception e) {
-                if (e.getMessage().contains("Transport error: 503")) {
-                    // server is down, use local historical data
-                } else {
-                    // report any other errors
-                    throw e;
-                }
+            } catch (ServiceRuntimeException e) {
+                // server isn't available, use local historical data
             
             // restore the previous logging setting
             } finally {