Author: heiko.braun(a)jboss.com
Date: 2007-04-11 06:36:03 -0400 (Wed, 11 Apr 2007)
New Revision: 2787
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java
trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPConnectionImpl.java
Log:
Align exception handling with SAAJ API
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java 2007-04-11
10:35:16 UTC (rev 2786)
+++
trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java 2007-04-11
10:36:03 UTC (rev 2787)
@@ -23,32 +23,30 @@
// $Id$
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.SocketTimeoutException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.xml.rpc.Stub;
-import javax.xml.soap.MimeHeader;
-import javax.xml.soap.MimeHeaders;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.addressing.EndpointReference;
-
import org.jboss.logging.Logger;
import org.jboss.remoting.Client;
import org.jboss.remoting.InvokerLocator;
import org.jboss.remoting.marshal.MarshalFactory;
import org.jboss.remoting.marshal.Marshaller;
import org.jboss.remoting.marshal.UnMarshaller;
-import org.jboss.ws.WSException;
import org.jboss.ws.core.MessageAbstraction;
import org.jboss.ws.core.MessageTrace;
import org.jboss.ws.core.StubExt;
import org.jboss.ws.core.WSTimeoutException;
+import javax.xml.rpc.Stub;
+import javax.xml.soap.MimeHeader;
+import javax.xml.soap.MimeHeaders;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.addressing.EndpointReference;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.SocketTimeoutException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
/**
* SOAPConnection implementation
*
@@ -121,7 +119,7 @@
throw new IllegalArgumentException("Given endpoint cannot be null");
if (closed)
- throw new WSException("Connection is already closed");
+ throw new IOException("Connection is already closed");
Object timeout = null;
String targetAddress;
@@ -160,23 +158,14 @@
MessageTrace.traceMessage("Outgoing Request Message", reqMessage);
MessageAbstraction resMessage = null;
- try
+
+ if (oneway == true)
{
- if (oneway == true)
- {
- client.invokeOneway(reqMessage, metadata, false);
- }
- else
- {
- resMessage = (MessageAbstraction)client.invoke(reqMessage, metadata);
- }
+ client.invokeOneway(reqMessage, metadata, false);
}
- catch (RuntimeException rte)
+ else
{
- Throwable cause = rte.getCause();
- if (timeout != null && cause instanceof SocketTimeoutException)
- throw new WSTimeoutException("Timeout after: " + timeout +
"ms", new Long(timeout.toString()));
- else throw rte;
+ resMessage = (MessageAbstraction)client.invoke(reqMessage, metadata);
}
// Disconnect the remoting client
@@ -190,12 +179,15 @@
return resMessage;
}
- catch (RuntimeException rte)
+ catch(SocketTimeoutException se)
{
- throw rte;
+ if(timeout!=null)
+ throw new WSTimeoutException("Timeout after: " + timeout +
"ms", new Long(timeout.toString()));
+ else
+ throw new IOException(se.getMessage());
}
catch (Throwable th)
- {
+ {
IOException io = new IOException("Could not transmit message");
io.initCause(th);
throw io;
Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPConnectionImpl.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPConnectionImpl.java 2007-04-11
10:35:16 UTC (rev 2786)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPConnectionImpl.java 2007-04-11
10:36:03 UTC (rev 2787)
@@ -105,11 +105,7 @@
{
MessageAbstraction resMessage =
remotingConnection.invoke((SOAPMessageImpl)reqMessage, endpoint, oneway);
return resMessage;
- }
- catch (RuntimeException rte)
- {
- throw rte;
- }
+ }
catch (Exception ex)
{
Throwable cause = ex.getCause();
Show replies by date