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 de...@apache.org on 2007/07/12 12:29:29 UTC
svn commit: r555566 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
Author: deepal
Date: Thu Jul 12 03:29:27 2007
New Revision: 555566
URL: http://svn.apache.org/viewvc?view=rev&rev=555566
Log:
fixing AXIS2-2938
- I think we need to remove CallBack object , it is very difficult to maintains two interfaces
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java?view=diff&rev=555566&r1=555565&r2=555566
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java Thu Jul 12 03:29:27 2007
@@ -211,7 +211,7 @@
completed = true;
} else {
sc.getConfigurationContext().getThreadPool().execute(
- new NonBlockingInvocationWorker(callback, mc));
+ new NonBlockingInvocationWorker(callback, mc, axisCallback));
}
}
}
@@ -388,11 +388,14 @@
private Callback callback;
private MessageContext msgctx;
+ private AxisCallback axisCallback;
public NonBlockingInvocationWorker(Callback callback,
- MessageContext msgctx) {
+ MessageContext msgctx ,
+ AxisCallback axisCallback) {
this.callback = callback;
this.msgctx = msgctx;
+ this.axisCallback =axisCallback;
}
public void run() {
@@ -407,17 +410,34 @@
// If a fault was found, create an AxisFault with a MessageContext so that
// other programming models can deserialize the fault to an alternative form.
AxisFault fault = new AxisFault(body.getFault(), response);
- callback.onError(fault);
+ if (callback != null) {
+ callback.onError(fault);
+ } else {
+ axisCallback.onError(fault);
+ }
+
} else {
- AsyncResult asyncResult = new AsyncResult(response);
- callback.onComplete(asyncResult);
+ if (callback != null) {
+ AsyncResult asyncResult = new AsyncResult(response);
+ callback.onComplete(asyncResult);
+ } else {
+ axisCallback.onMessage(response);
+ }
+
}
}
} catch (Exception e) {
- callback.onError(e);
+ if (callback != null) {
+ callback.onError(e);
+ } else {
+ axisCallback.onError(e);
+ }
+
} finally {
- callback.setComplete(true);
+ if (callback != null) {
+ callback.setComplete(true);
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org