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 th...@apache.org on 2006/10/13 10:45:51 UTC

svn commit: r463594 - in /webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2: description/OutInAxisOperation.java util/CallbackReceiver.java

Author: thilina
Date: Fri Oct 13 01:45:50 2006
New Revision: 463594

URL: http://svn.apache.org/viewvc?view=rev&rev=463594
Log:
make sure to setComplete "true" on the call back..

Modified:
    webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
    webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java

Modified: webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java?view=diff&rev=463594&r1=463593&r2=463594
==============================================================================
--- webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java (original)
+++ webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java Fri Oct 13 01:45:50 2006
@@ -448,10 +448,11 @@
                     }
                 }
 
-                callback.setComplete(true);
             } catch (Exception e) {
-                callback.onError(e);
-            }
+				callback.onError(e);
+			} finally {
+				callback.setComplete(true);
+			}
         }
     }
 }

Modified: webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java?view=diff&rev=463594&r1=463593&r2=463594
==============================================================================
--- webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java (original)
+++ webservices/axis2/branches/java/1_1/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java Fri Oct 13 01:45:50 2006
@@ -49,26 +49,29 @@
         RelatesTo relatesTO = messageCtx.getOptions().getRelatesTo();
         String messageID = relatesTO.getValue();
         Callback callback = (Callback) callbackStore.get(messageID);
-        AsyncResult result = new AsyncResult(messageCtx);
+		AsyncResult result = new AsyncResult(messageCtx);
 
-        if (callback != null) {
-        	
-        	//check weather the result is a fault.
-        	SOAPEnvelope envelope = result.getResponseEnvelope();
-        	SOAPFault fault = envelope.getBody().getFault();
-        	
-        	if (fault==null) {
-        		//if there is not fault call the onComplete method
-        		callback.onComplete(result);
-        	} else {
-        		//else call the on error method with the fault
-                AxisFault axisFault = new AxisFault(fault.getCode(), fault.getReason(),
-                		fault.getNode(), fault.getRole(), fault.getDetail());
+		if (callback != null) {
+			try {
+				// check weather the result is a fault.
+				SOAPEnvelope envelope = result.getResponseEnvelope();
+				SOAPFault fault = envelope.getBody().getFault();
 
-        		callback.onError(axisFault);
-        	}
-            callback.setComplete(true);
-        } else {
+				if (fault == null) {
+					// if there is not fault call the onComplete method
+					callback.onComplete(result);
+				} else {
+					// else call the on error method with the fault
+					AxisFault axisFault = new AxisFault(fault.getCode(), fault
+							.getReason(), fault.getNode(), fault.getRole(),
+							fault.getDetail());
+
+					callback.onError(axisFault);
+				}
+			} finally {
+				callback.setComplete(true);
+			}
+		} else {
             throw new AxisFault("The Callback realtes to MessageID " + messageID + " is not found");
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org