beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Colwell" <>
Subject RE: Oneway and WebResult
Date Mon, 20 Sep 2004 17:28:19 GMT
In addition, since the WebParam annotation can specify OUT or INOUT
parameters the Oneway annotation provides additional assurance that
nothing should be returned and attempts to enforce a "fire and forget"

David, I do have a question about the difference between the empty
response and the "fire and forget" patterns mentioned below when the
underlying method returns void.  The spec suggests that implementors of
a Oneway function process the request in a separate thread and return
immediately.  Are you saying that if someone omits the Oneway annotation
that they are in effect giving notice that they might spend a while
processing the request and that the empty response indicates a
successful, as in no faults thrown, execution of the function?

At the moment when integrating with AXIS the response message remains
but is empty when Oneway is used, as well as when Oneway is not used but
void is returned and there are no out parameters.  I will investigate
the effect of removing this empty response from the WSDL and the service



-----Original Message-----
From: David Read 
Sent: Monday, September 20, 2004 9:19 AM
To: Beehive Developers
Subject: RE: Oneway and WebResult

I think the use of Oneway has a specific meaning in configuring the WSDL
message pattern to use for the operation.  A Java method that returns
"void" can either be a request-response message with empty response or a
one-way (i.e. fire and forget). Without an annotation, there's no way to
produce both message patterns (in the generated WSDL).  Based on the
wording in the JSR181 spec,  I'd assume that the absence of Oneway means
request-response.  With the Oneway "marker" annotation, the message
pattern would be one-way.  It would be nice if the spec had a WSDL
fragment in this section to make the usage more clear.

The WebResult seems to only be necessary if you want to change the
element name of the return or the targetnamespace of the return value. 

-----Original Message-----
From: Jonathan Colwell
Sent: Monday, September 20, 2004 8:53 AM
To: Beehive Developers
Subject: Oneway and WebResult

Hey Wolfgang,

It's great that you are weighing in with questions and suggestions.

When I started looking at the 181 spec I had the impression that the
omission of the WebResult was identical to having a Oneway annotation
thus making the use of Oneway somewhat redundant.  After further review
and discussion, I am thinking that there are in essence two types of
Annotations in the 181 spec, decorative and indicative.  The indicative
annotations such as WebService, WebMethod and Oneway mean something
special simply by existing.  The decorative annotations like WebParam,
WebResult and SOAPBinding will customize behavior if they specify any
values for the annotation members but will revert to the default values
if empty or absent.

Does this view sound reasonable to you?  It makes the Oneway useful as
an indicator that the method should not return a value and WebResult
would only be used to provide a custom name for the value. 

Thanks again for jumping into the discussion and if you have questions
or suggestions regarding the WSM implementation put together so far,
don't hesitate to holler.



-----Original Message-----
From: [] 
Sent: Sunday, September 19, 2004 9:33 PM
To: Beehive Developers
Subject: Re: Proposal for continously testing JSR-181 functionality

Hi Michael, Jonathan

> My suggestion is that the WebResult annotation must appear with the
WebMethod annotation.
> or at least warn "you'd better to add WebResult" or something like 
> that  during the development stage..
I said above in my previous mail, but there's the Oneway annotation as
well , so how about either the WebResult or Oneway annotation must
appear with WebMethod ? Otherwise, an exception will be thrown.

Thanks in advance.


View raw message