Hi,

I'm using axis 1.4, and I have an interface defined as follows:

========================================
public interface ServiceInterface<T> {
  ...
  public boolean updateList(T[] list) throws ServiceException;
  ...
}
========================================

with an implementing class as follows:

========================================
public class UserService implements ServiceInterface<User> {
  ...
    public boolean updateList(User[] list) throws ServiceException {
      ...
    }
  ...
}
========================================

There are many other methods defined in the interface which the class
implements, and everytihng is fine with these.  When I run the java2wsdl
ant task on this class, the types are being represented perfectly, the
namespaces all line up properly, but I'm getting two instances of the
"updateList" method, as follows:

========================================
 ...
      <wsdl:operation name="updateList" parameterOrder="list">
         <wsdl:input message="impl:updateListRequest"
name="updateListRequest"/>
         <wsdl:output message="impl:updateListResponse"
name="updateListResponse"/>
      </wsdl:operation>
 ...

   <wsdl:message name="updateListRequest">
      <wsdl:part name="list" type="impl:ArrayOf_tns2_User"/>
   </wsdl:message>
 ...
========================================

And

========================================
 ...
      <wsdl:operation name="updateList" parameterOrder="x0">
         <wsdl:input message="impl:updateListRequest1"
name="updateListRequest1"/>
         <wsdl:output message="impl:updateListResponse1"
name="updateListResponse1"/>
      </wsdl:operation>
 ...

  <wsdl:message name="updateListRequest1">
     <wsdl:part name="x0" type="impl:ArrayOf_xsd_anyType"/>
  </wsdl:message>
 ...
========================================

The first appearance of the method definition in the WSDL file is
correct, but I don't know why the second one is being generated.  I can
edit them out by hand, but they shouldn't be there.

I have two other methods in the class which exhibit the same problem,
and both of those classes are defined similarly to the updateList
method, to wit:

  public boolean updateList(T[] list) throws ServiceException;
  public boolean saveList(T[] list) throws ServiceException;
  public T test(T val) throws ServiceException;

Which is to say, only these methods pass in the genercized parameter,
and only these methods are duplicated in the WSDL.  Interestingly,
methods which have genercized return values are not duplicated.

Has anyone run across this?  Or am I being too ambitious using Generics
with my services?

Veilen Danke,

Ben


The information contained in this message and any attachment may be
proprietary, confidential, and privileged or subject to the work
product doctrine and thus protected from disclosure.  If the reader
of this message is not the intended recipient, or an employee or
agent responsible for delivering this message to the intended
recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify me
immediately by replying to this message and deleting it and all
copies and backups thereof.  Thank you.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to