axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amila Suriarachchi" <amilasuriarach...@gmail.com>
Subject Re: [Axis2] Parameter Oder and jaxws tests problem
Date Fri, 16 Mar 2007 05:21:39 GMT
On 3/15/07, Nicholas L Gallardo <nlgallar@us.ibm.com> wrote:
>
>
> Amila,
>
> > Assume this portType binds to an rpc/literal type soap binding.
> > Then the Request message should have parts Part1,Part2, Part3.
> > What about the response Message?
> > The wsdl spec says the only part we can miss should be the return type.
>
> Yes, the request would have each of those parts and they should follow the
> parameter order defined in the <wsdl:operation>.  This is fine per section
> 2.4.6 of the WSDL spec [1].



> The response would contain the single part defined in the response
> message, which is not included in the parameter order.




This is what I tried to say. The current WSDL11ToAxisService implementation
does not put that missing part in parameter order unless its' name is
*result*. (Actually this is my mistake) So we have to fix this. When I fixed
this bug in WSDL11ToAxisService it seems that the above metioned jaxws test
case fails. Actually this is the main problem I want to point out.

Rename the Response message parts in
modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl
to result. then those tests get fail. can you explain the reason for this?


> Therefore the response
> > message should have a part called *result* (instead of Part4 since it is
> the return type)
> > Please correct me if I wrong.
>
> I wasn't able to find anything in the spec that dictates the name of the
> return part.


See http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#rpcsoapbdy
It says in soap rpc the local part name of the return type is result. And
also the spec says this missing part in the parameter order is the return
value without saying this part should included in the response message.

But anyway there is a question that whether we have to follow this spec or
not. Although I belive it should be *result* I am ok with using the name
result or the original part name. But definitely we have to use this part in
response.

My interpretation has always been that if there is one part, and that part
> doesn't match any of the parts defined in the request, then it is the return
> type.


See
http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16617928
It says
parameterOrder attribute, if present, omits at most 1 wsdl:part from the
*output message*.
In otherwords all the parts of the request message should include in the
parameter order.

If it DOES match a request part, then it's an INOUT param rather than a
> return.  Is there a section of the spec that I'm missing that dictates that
> part name (not saying there isn't, I could just be missing it)?
>
> [1] - http://www.w3.org/TR/wsdl#_parameter
>
> Regards,
> -Nick


Regards,
Amila

-- 
Amila Suriarachchi,
WSO2 Inc.

Mime
View raw message