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 "Aaron Gourley (JIRA)" <ji...@apache.org> on 2008/01/24 18:06:34 UTC

[jira] Created: (AXIS2-3476) Client-side processing of asynchronous requests with void return type is flawed.

Client-side processing of asynchronous requests with void return type is flawed.
--------------------------------------------------------------------------------

                 Key: AXIS2-3476
                 URL: https://issues.apache.org/jira/browse/AXIS2-3476
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: codegen
    Affects Versions: 1.2, 1.3, 1.4
         Environment: Axis2 1.3, Java 6, Windows XP
            Reporter: Aaron Gourley


Root of problem is in modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementation.xsl, near the following block of code:

<xsl:when test="$outputtype=''">
    // Nothing to pass as the callback!!!
</xsl:when>

Due to the fact that the startXXX() methods don't register a callback in the operationClient for void methods, generated client stubs are produced in such a way that there is no way for the client application to have itself notified upon request completion (whether on error, fault, or otherwise).  The client is left in limbo.

Along with a fix for this issue I believe that a change has to be made to the CallbackHandlerTemplate.xsl file so that generated callback handlers support some sort of onComplete() derivation (such as receiveCompleteXXX).  The reason being is that for void methods there is no way for a client application using the generated stub code to be notified when a void method completes successfully.  This way, the generated Axis2Callback within the stub code would be able to call the new onComplete() style method in the CallbackHandler, allowing the client app to know when execution is complete.

-- 
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


[jira] Updated: (AXIS2-3476) Client-side processing of asynchronous requests with void return type is flawed.

Posted by "Aaron Gourley (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-3476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aaron Gourley updated AXIS2-3476:
---------------------------------

    Attachment: CustomMessage.wsdl

Sample WSDL exploiting the deficiency.  Notice that the startSetCustomMessage() method does not make use of the CustomMessageServiceCallbackHandler instance, making it impossible for the business logic to be informed of faults or completion.

> Client-side processing of asynchronous requests with void return type is flawed.
> --------------------------------------------------------------------------------
>
>                 Key: AXIS2-3476
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3476
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.4, 1.3, 1.2
>         Environment: Axis2 1.3, Java 6, Windows XP
>            Reporter: Aaron Gourley
>         Attachments: CustomMessage.wsdl
>
>
> Root of problem is in modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementation.xsl, near the following block of code:
> <xsl:when test="$outputtype=''">
>     // Nothing to pass as the callback!!!
> </xsl:when>
> Due to the fact that the startXXX() methods don't register a callback in the operationClient for void methods, generated client stubs are produced in such a way that there is no way for the client application to have itself notified upon request completion (whether on error, fault, or otherwise).  The client is left in limbo.
> Along with a fix for this issue I believe that a change has to be made to the CallbackHandlerTemplate.xsl file so that generated callback handlers support some sort of onComplete() derivation (such as receiveCompleteXXX).  The reason being is that for void methods there is no way for a client application using the generated stub code to be notified when a void method completes successfully.  This way, the generated Axis2Callback within the stub code would be able to call the new onComplete() style method in the CallbackHandler, allowing the client app to know when execution is complete.

-- 
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