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 "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2007/11/12 19:15:51 UTC

[jira] Assigned: (AXIS2-3265) AxisCallback#onComplete is not called in OutInAxisOperation.NonBlockingInvocationWorker#run

     [ https://issues.apache.org/jira/browse/AXIS2-3265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Deepal Jayasinghe reassigned AXIS2-3265:
----------------------------------------

    Assignee: Deepal Jayasinghe

> AxisCallback#onComplete is not called in OutInAxisOperation.NonBlockingInvocationWorker#run
> -------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3265
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3265
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.3
>            Reporter: Alexander Koezle
>            Assignee: Deepal Jayasinghe
>            Priority: Minor
>
> Hi, 
> I'm trying to refactor my existing code and replace deprecated Callback interface with the  new AxisCallback.  
> I miss the call of AxisCallback#onComplete() while invoking of a non blocking service in OutInAxisOperation.NonBlockingInvocationWorker#run. I expect the onComplete call after the call of onMessage() or onFault() as it already done for Callback instance (setComplete()).
> I mean these lines:
> {code:}
>         public void run() {
>             try {
>                 // send the request and wait for response
>                 MessageContext response = send(msgctx);
>                 // call the callback
>                 if (response != null) {
>                     SOAPEnvelope resenvelope = response.getEnvelope();
>                     SOAPBody body = resenvelope.getBody();
>                     if (body.hasFault()) {
>                         // 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);
>                         if (callback != null) {
>                             callback.onError(fault);
>                         } else {
>                             axisCallback.onError(fault);
>                         }
>                     } else {
>                         if (callback != null) {
>                             AsyncResult asyncResult = new AsyncResult(response);
>                             callback.onComplete(asyncResult);
>                         } else {
>                             axisCallback.onMessage(response);
>                         }
>                     }
>                 }
>             } catch (Exception e) {
>                 if (callback != null) {
>                     callback.onError(e);
>                 } else {
>                     axisCallback.onError(e);
>                 }
>             } finally {
>                 if (callback != null) {
>                     callback.setComplete(true);
>                 }
>             }
>         }
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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