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.

Reply via email to