First off, pardon for this newbie-ish question. I have been googling for a long time and I'm also having difficulty finding an answer in the archives since I'm not sure how to phrase the questions (and too many search results on just WSDL2Java).
Anyway, I was able to follow along with this tutorial on axis that I found very helpful http://www.onjava.com/pub/a/onjava/2002/06/05/axis.html?page=2 but now I want to have my simple service return something more complicated than an int so I decided to make a class that would return to me an array of Employee objects. In my com.maintenance package I have: Employee //simple POJO String employeeName; int employeeId EmployeeMaintenance //interface EmployeeMaintenanceImpl //implemenation with Employee[] getEmployees method I then used Java2WSDL: java org.apache.axis.wsdl.Java2WSDL -o employee.wsdl -l"http://localhost:8080/axis/services/employee" -n urn:com.maintenance -p"com.maintenance" urn:com.maintenance com.maintenance.EmployeeMaintenance to make my wsdl ( generated code I pasted here http://www.pastehere.com/?oivegh ). Now, following how I did things from the tutorial, I use WSDL2Java to create my stub classes. Running this from the classes dir where my wsdl is: java org.apache.axis.wsdl.WSDL2Java -o ..\src -d Session -s -p com.maintenance.ws employee.wsdl. When I look at the generated EmployeeSoapBindingImpl class in my new package com.maintenance.ws, it has a method signature for getEmployees that looks like: public com.maintenance.ws.Employee[] getEmployees() throws java.rmi.RemoteException { return null; } The problem now is that I want to edit this class like I did in the tutorial example so that I can return an Employee[] array that my com.maintenance.EmployeeMaintenanceIpml gives me, but for some reason the return signature on the SoapBindingImpl is using the com.mainteance.ws.Employee class it generated in the com.mainteance.ws package (not the package com.maintenance ). If rather than try to to build the stub classes to a new package with WSDL2Java, I instead run it in the same package where I have my initial files (Employee, EmployeeMaintenance, EmployeeMaintenaceImpl), I end up getting Employee overwritten by the WSDL2Java command which I guess is ok since it really is basically the same file. In both situations, I'm also sure that this is probably a problem. Although my classes all compile, IDEA is letting me know that for the getEmployees() method below that "org.apache.axis.description.typedesc not public or does not allow instantiation." //EmployeeSoapBindingImpl implements com.maintenance.EmployeeMaintenance public com.maintenance.Employee[] getEmployees() throws java.rmi.RemoteException { I'm also running into problems trying to access getEmployees after I deploy it (stand along access connects but getting AxisFault NoClassDefFoundError. wsdl is out there and jar with bundled classes in axis/web-inf/lib looks ok). But rather than tackle that issue here (which might be related to something above), I'd like to make sure I'm at least doing things correctly above. I've been googling but I'm having trouble finding some good examples that demonstrate returning back arrays of objects or collections with axis/web services. Thanks for any help. -- Rick
