axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Russell Butek" <bu...@us.ibm.com>
Subject Re: AW: Problem with message part names in WSDL
Date Fri, 22 Feb 2002 13:07:55 GMT
Werner, your guess is correct.  WSDL2Java is functioning as designed.

Russell Butek
butek@us.ibm.com


Dittmann Werner <Werner.Dittmann@icn.siemens.de> on 02/22/2002 01:51:48 AM

Please respond to axis-user@xml.apache.org

To:   "'axis-user@xml.apache.org'" <axis-user@xml.apache.org>
cc:
Subject:  AW: Problem with message part names in WSDL



Looking at that it seems that axis interprets the part
"Key" as an in-out parameter (because it has the same
name and type in both messages). Renaming it causes axis
to interpret it as a "real" return value. That's just
my guess.

Werner


> -----Urspr√ľngliche Nachricht-----
> Von: Christoph Hartmann [mailto:chartmann@e2e.ch]
> Gesendet: Donnerstag, 21. Februar 2002 20:01
> An: axis-user@xml.apache.org
> Betreff: Problem with message part names in WSDL
>
>
> I use AXIS nightly build 2002-02-21 / JDK 1.3.1
>
>
> I have the following definitions in my WSDL file (truncated):
>
>     <wsdl:message name="UpdateDataObject">
>        <wsdl:part name="Key" type="stns:EmployeeKey"/>
>        <wsdl:part name="Data" type="stns:Employee"/>
>     </wsdl:message>
>     <wsdl:message name="UpdateDataObjectResponse">
>        <wsdl:part name="Key" type="stns:EmployeeKey"/>
>     </wsdl:message>
>     <wsdl:message name="FaultDetailMessage">
>        <wsdl:part name="Detail" type="stns:EnablerFaultDetailType"/>
>     </wsdl:message>
>
>     <wsdl:portType name="EmployeePortType">
>        <wsdl:operation name="UpdateDataObject">
>           <wsdl:input message="tns:UpdateDataObject"/>
>           <wsdl:output message="tns:UpdateDataObjectResponse"/>
>           <wsdl:fault message="tns:FaultDetailMessage"/>
>        </wsdl:operation>
>      </wsdl:portType>
>
> After creating the Java classes with WSDL2Java the resulting
> EmployeePortType.java file has a wrong signature for the
> updateDataObject() method (returns void instead of EmployeeKey,
> wrong type of the "key" parameter):
>
>     public interface EmployeePortType extends java.rmi.Remote {
>         public void updateDataObject(EmployeeKeyHolder key,
>             Employee data) throws java.rmi.RemoteException,
>             FaultDetailMessage;
>     }
>
> If I change the part name from "Key" to "Key1" in the
> UpdateDataObjectResponse message, the resulting
> EmployeePortType.java file looks fine:
>
>     public interface EmployeePortType extends java.rmi.Remote {
>         public EmployeeKey updateDataObject(EmployeeKey key,
>             Employee data) throws java.rmi.RemoteException,
>             FaultDetailMessage;
>     }
>
> Do I something wrong/stupid when I use the same part name both
> in the input and output message of a single operation?
>
>
>
>    Thanx,
>    hardy
>



Mime
View raw message