Hello,
  I haven't tried to get a smaller version of my problem working, but I 
have found what I believe to be the problem, but can't figure out how to 
word it.

  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.

  So, how do I explain this when I file a bug report? Any suggestions? 
What can I do to help the developers figure out, quickly, what the 
problem is, as opposed to be muddling through the code.

  It would be nice if there was some similarity between java2wsdl and 
the on-the-fly generation, so that there isn't this disparity between 
them. They should share code, I would figure.

  Thank you.

Reply via email to