axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicholas L Gallardo <nlgal...@us.ibm.com>
Subject Re: [Axis2] Parameter Oder and jaxws tests problem
Date Thu, 15 Mar 2007 14:55:42 GMT
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.

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





"Amila Suriarachchi" <amilasuriarachchi@gmail.com> 
03/15/2007 07:22 AM
Please respond to
axis-user@ws.apache.org


To
axis-user@ws.apache.org, axis-dev@ws.apache.org
cc

Subject
[Axis2] Parameter Oder and jaxws tests problem






Lets take this wsdl fragment.
<wsdl:message name="RequestMessage1">
        <wsdl:part name="Part1" type="xsd:string"/>
        <wsdl:part name="Part2" type="xsd:string"/> 
        <wsdl:part name="Part3" type="xsd:string"/>
 </wsdl:message>
  <wsdl:message name="ResponseMessage1">
        <wsdl:part name="Part4" type="xsd:string"/> 
  </wsdl:message>
...
<wsdl:portType name="PortType1">
        <wsdl:operation name="Operation1" parameterOrder="Part2 Part1 
Part3">
            <wsdl:input message="tns:RequestMessage1"/> 
            <wsdl:output message="tns:ResponseMessage1"/>
        </wsdl:operation>
    </wsdl:portType>

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

However In the current implementation I have made a mistake, So that the 
response does not include any parts.
I belive this is wrong.

The jaxws tests have a test called RPCProxyTests.java and it uses the 
RPCLit.wsdl.

this wsdl contains similar cases as in above.
eg.
<wsdl:message name="testListsRequest">
      <wsdl:part name="arg_0_0" type="impl:QNameList"/> 
      <wsdl:part name="arg_1_0" type="impl:CalendarList"/>
      <wsdl:part name="arg_2_0" type="impl:StringList"/>
      <wsdl:part name="arg_3_0" type="impl:BigIntegerList"/> 
      <wsdl:part name="arg_4_0" type="impl:LongList"/>
      <wsdl:part name="arg_5_0" type="impl:EnumList"/>
      <wsdl:part name="arg_7_0" type="impl:EnumList2"/> 
      <wsdl:part name="arg_6_0" type="impl:complexAll"/>
   </wsdl:message>

   <wsdl:message name="testCalendarList1Response">
      <wsdl:part name="testCalendarList1Return" type="impl:CalendarList"/> 

   </wsdl:message>

<wsdl:operation name="testLists" parameterOrder="arg_0_0 arg_1_0 arg_2_0 
arg_3_0 arg_4_0 arg_5_0 arg_7_0 arg_6_0">
         <wsdl:input message="impl:testListsRequest" 
name="testListsRequest"/> 
         <wsdl:output message="impl:testListsResponse" 
name="testListsResponse"/>
</wsdl:operation>

The problem is,
  When I fixed the earlier problem in WSDL11ToAxisServiceBuilder ( i.e. to 
insert the return type)
 It seems This test case get fail.

As a result of this I can not fix this bug and can someone please look 
into this test case? 
Can someone check whether it generates a part for 
*testCalendarList1Return* and similar parts as well. 

Thankx.
Amila.


-- 
Amila Suriarachchi,
WSO2 Inc. 

Mime
View raw message