DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13146>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13146 On-the-fly wsdl generation incorrect for some overloaded methods Summary: On-the-fly wsdl generation incorrect for some overloaded methods Product: Axis Version: current (nightly) Platform: Other OS/Version: Other Status: NEW Severity: Critical Priority: Other Component: Serialization/Deserialization AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The main problem is that the wsdl file that is generated from java2wsdl and the wsdl file generated on the fly are different, and so I will have multiple functions with the same parameters, and the axis parser gets confused about what method I am actually calling. You can look at http://alina.acomp.usf.edu:8080/axis/servlet/AxisServlet and get the wsdl file on either AxisLMSServer or LMSDBServer. I will talk about AxisLMSServer here. This is from the on-the-fly generation: <wsdl:message name="deassignItemRequest"> <wsdl:part name="operator" type="soapenc:string"/> <wsdl:part name="password" type="soapenc:string"/> <wsdl:part name="rids" type="intf:ArrayOf_xsd_int"/> </wsdl:message> <wsdl:message name="deassignItemRequest1"> <wsdl:part name="operator" type="soapenc:string"/> <wsdl:part name="password" type="soapenc:string"/> <wsdl:part name="locname" type="soapenc:string"/> <wsdl:part name="label" type="soapenc:string"/> </wsdl:message> <wsdl:message name="deassignItemRequest2"> <wsdl:part name="operator" type="soapenc:string"/> <wsdl:part name="password" type="soapenc:string"/> <wsdl:part name="rid" type="xsd:int"/> </wsdl:message> <wsdl:message name="deassignItemRequest3"> <wsdl:part name="operator" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> <wsdl:part name="rid" type="xsd:int"/> </wsdl:message> From the java2wsdl program: <wsdl:message name="deassignItemRequest"> <wsdl:part name="operator" type="soapenc:string"/> <wsdl:part name="password" type="soapenc:string"/> <wsdl:part name="rids" type="intf:ArrayOf_xsd_int"/> </wsdl:message> <wsdl:message name="deassignItemRequest1"> <wsdl:part name="operator" type="soapenc:string"/> <wsdl:part name="password" type="soapenc:string"/> <wsdl:part name="locname" type="soapenc:string"/> <wsdl:part name="label" type="soapenc:string"/> </wsdl:message> <wsdl:message name="deassignItemRequest2"> <wsdl:part name="operator" type="soapenc:string"/> <wsdl:part name="password" type="soapenc:string"/> <wsdl:part name="rid" type="xsd:int"/> </wsdl:message> There is no fourth method, in the java2wsdl file. Following is the lines from the interface that I use for java2wsdl. public java.lang.String deassignItem(java.lang.String operator, java.lang.String password, int[] rids) throws java.rmi.RemoteException; public java.lang.String deassignItem(java.lang.String operator, java.lang.String password, java.lang.String locname, java.lang.String label) throws java.rmi.RemoteException; public java.lang.String deassignItem(java.lang.String operator, java.lang.String password, int rid) throws java.rmi.RemoteException; The problem, it appears, is that there is a duplication between Request2 and Request3. The wsdl file may think they are different, but in actuality they are the same, as they are both strings. I will work on trying to get a small, simple example to duplicate the problem.