You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2007/03/16 02:33:31 UTC
svn commit: r518825 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java
Author: dims
Date: Thu Mar 15 18:33:31 2007
New Revision: 518825
URL: http://svn.apache.org/viewvc?view=rev&rev=518825
Log:
Fix for AXIS2-2328 - Out of memory error in Callback receiver
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java?view=diff&rev=518825&r1=518824&r2=518825
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CallbackReceiver.java Thu Mar 15 18:33:31 2007
@@ -54,28 +54,28 @@
throw new AxisFault("Cannot identify correct Callback object. RelatesTo is null");
}
String messageID = relatesTO.getValue();
- Callback callback = (Callback) callbackStore.get(messageID);
+ Callback callback = (Callback) callbackStore.remove(messageID);
AsyncResult result = new AsyncResult(messageCtx);
- if (callback != null) {
- try {
- // check weather the result is a fault.
- SOAPEnvelope envelope = result.getResponseEnvelope();
- SOAPFault fault = envelope.getBody().getFault();
+ if (callback == null) {
+ throw new AxisFault("The Callback realtes to MessageID " + messageID + " is not found");
+ }
+
+ try {
+ // 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 = Utils.getInboundFaultFromMessageContext(messageCtx);
- callback.onError(axisFault);
- }
- } finally {
- callback.setComplete(true);
+ 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 = Utils.getInboundFaultFromMessageContext(messageCtx);
+ callback.onError(axisFault);
}
- } else {
- throw new AxisFault("The Callback realtes to MessageID " + messageID + " is not found");
+ } finally {
+ callback.setComplete(true);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org