Werner, your guess is correct. WSDL2Java is functioning as designed. Russell Butek [EMAIL PROTECTED]
Dittmann Werner <[EMAIL PROTECTED]> on 02/22/2002 01:51:48 AM Please respond to [EMAIL PROTECTED] To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]] > Gesendet: Donnerstag, 21. Februar 2002 20:01 > An: [EMAIL PROTECTED] > 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 >
