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