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 "Andreas Veithen (Updated) (JIRA)" <ax...@ws.apache.org> on 2012/01/05 22:52:39 UTC

[jira] [Updated] (AXIS-2538) Support for one way operations is incompletely implemented

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

Andreas Veithen updated AXIS-2538:
----------------------------------

    Fix Version/s: 1.4.1
         Assignee: Andreas Veithen

The JAX-RPC spec is indeed very clear about the expected behavior of the invokeOneWay method:

"The invokeOneWay method invokes a remote method using the oneway interaction mode. The client thread does not block waiting for the completion of the processing of this remote method invocation on the service endpoint. When the protocol in use is SOAP/HTTP, the client should block until an HTTP response code has been received or an error occurs. Reception of a response code simply means that the transmission of the request is complete, and not that the request was accepted or processed. This method must not throw any remote exceptions. This method is required to throw a JAXRPCException if there is an error in the configuration of the Call object (example: a non-void return type has been incorrectly specified for the one-way call) or if there is any error during the invocation of the one-way remote call."
                
> Support for one way operations is incompletely implemented
> ----------------------------------------------------------
>
>                 Key: AXIS-2538
>                 URL: https://issues.apache.org/jira/browse/AXIS-2538
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: tested using JDK1.5 (doesn't matter though)
>            Reporter: George E. Turner
>            Assignee: Andreas Veithen
>             Fix For: 1.4.1
>
>         Attachments: axis-changes.zip, patch-take2.txt, patch.txt
>
>
> Several pieces are missing from the implementation to get one wau working correctly, and the invokeOneWay method in Call.java incorrectly runs in a background thread.  SOAP oneway does NOT imply async handling, it just means that the client cannot send a response "object" or throw and Exception.  This means that a oneway operation cannot define a fault or an output, not that it is performed asyncronously.  The invokeOneWayEngine needs the background thread removed so that the call will block until completion.
> The next missing piece is that the AdminClient fails to add the "mep=oneway" to the operation when it exists in the deploy.wsdd to the server-config.wsdd.
> The next missing piece is that when the skeletonDeploy switch is used, the setMep(OperationType.ONE_WAY) is not inserted into the generated code for iether a client or server side generation using wsdl2java.  I am attaching code changes for Call.java, JavaSkelWriter.java, and JavaStubWriter.java that has been tested to fix the noted problems.  The only fix not provided is for the AdminClient, as I just inserted the missing line into the server-config.wsdd manually to fix my problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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