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 "Bill Keese (JIRA)" <ax...@ws.apache.org> on 2005/01/13 08:28:17 UTC

[jira] Commented: (AXIS-1739) Bad part name in axis server response in document/literal style.

     [ http://issues.apache.org/jira/browse/AXIS-1739?page=comments#action_57572 ]
     
Bill Keese commented on AXIS-1739:
----------------------------------

The problem code appears to be in RPCProvider.processMessage(), which adds <methodNameResponse> and <methodNameReturn> tags regardless of the style.

(In this case AXIS is actually it getting confused about the method name, but in reality it shouldn't be printing any tags at all.)

>From Ann Thomas Mannes:
Axis should generate a <methodNameReturn> tag only when using RPC
style. It should not generate the tag when using either wrapped or
document style. In both cases, the child element of the SOAP Body
should be the element specified in the response message part. For
example, if the response message is defined as:

<wsdl:message name="methodResponse">
  <wsdl:part name="parameters" element="tns:foo"/>
</wsdl:message>

then the response message for either wrapped or document style should be:

<s:Body>
  <tns:foo.../>
</s:Body>

- Anne

> 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