[ 
http://issues.apache.org/jira/browse/AXIS-1739?page=comments#action_57750 ]
     
Tom Jordahl commented on AXIS-1739:
-----------------------------------

I don't believe the previous comment is correct.  .NET wsdl.exe keys its 
wrapped support when there is a single part that has the name "parameters" that 
points to an element.  It will then unwrap the element and each element in the 
complex type becomes one of the function parameters.  Axis took this a bit 
further, and formally defines rules (which I believed .NET was using, but I was 
wrong) that say: single part, element name same as operation name, no 
attributes, then we try to unwrap it in WSDL2Java.

I am not sure where the getXXX stuff comes in, but this probably is better 
discussed on the mailing list than in a possibly unrelated bug.


> Bad part name in axis server response in document/literal style.
> ----------------------------------------------------------------
>
>          Key: AXIS-1739
>          URL: http://issues.apache.org/jira/browse/AXIS-1739
>      Project: Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: 1.2 Beta, 1.2RC2
>  Environment: Windows 2K SP4 / Ant 1.6 within Eclipse 3.0.1 
> JDK 1.4.2_01-b06
>     Reporter: Ephemeris Lappis

>
> Few days ago, i had posted this note to the mailing list to try to have a 
> feedback, but as there is no echo, i copy it as a new report.
> All my last tests around document/literal style let me with troubles. To
> start again with simple things, i have made a basic service to evaluate the
> primary interoperability with my J2ME client. This simple service provides a
> single operation that takes a string, reverses it and returns it.
> On the client side, i work with the SUN Wireless toolkit that support the
> JSR172 (web-service for J2ME). Using the axis wsdl i have successfully
> generated the j2me client stubs, and built my midlet to call the web
> service. At run time, the client reports an error in the server response :
> the name of the response part for the return value is not as defined in the
> wsdl descriptor. To be sure, i had made the test again putting the tcp
> monitor in the middle... and it seems the client is right !
> The name of the part in the wsdl is 'reverseReturn' and axis uses
> 'in0Return'...
> Is it a bug, or just another mis-interpretation of mine ?
> Thanks to give your opinion and confirm, or not, it is actually a bug...
> Here the java code :
> --- java interface ---
> package net.moon.me.five.ws;
> import java.rmi.Remote;
> import java.rmi.RemoteException;
> public interface StringTool extends Remote {
>       public String reverse(String string) throws RemoteException;
> }
> ----------------------
> I have successfully generated the wsdl with the following ant script :
> --- wsdl2java ant script ---
> <property name="my.namespace" value="http://ws.moon.net/j2me05"; />
> <java2wsdl output="./wsdl/j2me05ws.wsdl"
>            className="net.moon.me.five.ws.StringTool"
>            namespace="${my.namespace}"
>            porttypename="StringUtility"
>            serviceportname="StringUtilityPort"
>            serviceelementname="J2ME05"
>            style="DOCUMENT"
>            location="http://ws.moon.net/j2me05";>
>       <classpath>
>               <pathelement location="${my.services.compile-directory}" />
>               <path refid="my.axis.classpath" />
>       </classpath>
> </java2wsdl>
> ----------------------------
> The resulting WSDL, with the expected part names !
> --- WSDL ---
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://ws.moon.net/j2me05";
> xmlns:impl="http://ws.moon.net/j2me05";
> xmlns:intf="http://ws.moon.net/j2me05";
> xmlns:apachesoap="http://xml.apache.org/xml-soap";
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
> <!--WSDL created by Apache Axis version: 1.2RC2
> Built on Nov 16, 2004 (12:19:44 EST)-->
>  <wsdl:types>
>   <schema xmlns="http://www.w3.org/2001/XMLSchema";
> targetNamespace="http://ws.moon.net/j2me05"; elementFormDefault="qualified">
>    <element name="in0" type="xsd:string"/>
>    <element name="reverseReturn" type="xsd:string"/>
>   </schema>
>  </wsdl:types>
>    <wsdl:message name="reverseRequest">
>       <wsdl:part name="in0" element="impl:in0"/>
>    </wsdl:message>
>    <wsdl:message name="reverseResponse">
>       <wsdl:part name="reverseReturn" element="impl:reverseReturn"/>
>    </wsdl:message>
>    <wsdl:portType name="StringUtility">
>       <wsdl:operation name="reverse" parameterOrder="in0">
>          <wsdl:input name="reverseRequest" message="impl:reverseRequest"/>
>          <wsdl:output name="reverseResponse"
> message="impl:reverseResponse"/>
>       </wsdl:operation>
>    </wsdl:portType>
>    <wsdl:binding name="StringUtilityPortSoapBinding"
> type="impl:StringUtility">
>       <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>       <wsdl:operation name="reverse">
>          <wsdlsoap:operation soapAction=""/>
>          <wsdl:input name="reverseRequest">
>             <wsdlsoap:body use="literal"/>
>          </wsdl:input>
>          <wsdl:output name="reverseResponse">
>             <wsdlsoap:body use="literal"/>
>          </wsdl:output>
>       </wsdl:operation>
>    </wsdl:binding>
>    <wsdl:service name="J2ME05">
>       <wsdl:port name="StringUtilityPort"
> binding="impl:StringUtilityPortSoapBinding">
>          <wsdlsoap:address location="http://ws.moon.net/j2me05"/>
>       </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
> -------------------------------------
> And now, the dumped http request and response :
> --- request ---
> POST /j2me05ws-ejb/J2ME-05-WS/J2ME05WS HTTP/1.1
> User-Agent: Profile/MIDP-1.0 Configuration/CLDC-1.0
> Content-Language: en-US
> Content-Type: text/xml
> SOAPAction: "
> Content-Length: 315
> Host: localhost
> <?xml version="1.0" encoding="utf-8"?>
>    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:tns="http://ws.moon.net/j2me05";>
>       <soap:Body>
>          <tns:in0>ABC</tns:in0>
>       </soap:Body>
>    </soap:Envelope>
> ---------------
> --- response ---
> HTTP/1.1 200 OK
> Set-Cookie: JSESSIONID=75C329A6CED0EE74D896E083043AFA0A; Path=/j2me05ws-ejb
> Content-Type: text/xml;charset=utf-8
> Transfer-Encoding: chunked
> Date: Tue, 21 Dec 2004 14:15:18 GMT
> Server: Apache-Coyote/1.1
> 123
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>    <soapenv:Body>
>       <in0Return xmlns="http://ws.moon.net/j2me05";>CBA</in0Return>
>    </soapenv:Body></soapenv:Envelope>
> 0
> ----------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to