Hm - that looks like it should work fine. Are you using up-to-date Axis source?
--Glen > -----Original Message----- > From: Vaishakhi Ajmera [mailto:[EMAIL PROTECTED]] > Sent: Friday, April 19, 2002 3:46 PM > To: [EMAIL PROTECTED] > Subject: Re: Class Cast Exception using return type as List > > > Thanks for your reply Glen, > I tried using both the setReturnType and setReturnClass but > still got the > ClassCastException > This is what my webservice looks like > > import java.util.*; > //import com.ardec.ebf.usermgr.*; > > public class UserList1 > { > private ArrayList userList=new ArrayList(); > > public List getUserList() > { > userList.add(new String("Vaishakhi Ajmera")); > userList.add(new String("Rabia Malik")); > return userList; > } > > } > My client class calls the getUserList method. This is what > the method that > calls the webservice in my client class looks like > > protected String doExecute() throws Exception > { > String endpoint = "http://localhost:8080/axis/UserList1.jws"; > > Service service = new Service(); > Call call = (Call) service.createCall(); > > call.setTargetEndpointAddress( new java.net.URL(endpoint) ); > call.setOperationName( "getUserList" ); > > call.setReturnClass( java.util.List.class ); > call.setReturnType(XMLType.SOAP_ARRAY); > > listOfUsers = (ArrayList) call.invoke( new Object [] {}); > > > return SUCCESS; > } > > So as you can see my webservice returns a List object. How do > I make my > service return a SOAP array. I am ending you the code so that > you can point > out anything that u see I am doing wrong. Hope this helps you solve my > problem. > > This is great help and I surely appreciate it. > Thanks > > Vaishakhi > > ----- Original Message ----- > From: "Glen Daniels" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, April 19, 2002 2:25 PM > Subject: RE: Class Cast Exception using return type as List > > > > > > Actually, the call.setReturnClass() method removes the need for the > convert() (that's the whole point of that method). > > > > Vaishakhi, are you sure your service is actually returning > a SOAP array? > Also, you need to specify both the return type and the return class, I > believe. > > > > --Glen > > > > > -----Original Message----- > > > From: Vidyanand Murunikkara [mailto:[EMAIL PROTECTED]] > > > Sent: Friday, April 19, 2002 3:16 PM > > > To: [EMAIL PROTECTED] > > > Subject: RE: Class Cast Exception using return type as List > > > > > > > > > Hi > > > > > > I remember someone mentioning in the list that for List/Vector the > > > return value from the call.invoke(...) is an object array. > > > To convert it to some thing that u want u would use the > convert method > > > in org.apache.axis.utils.JavaUtils. > > > > > > Hope this helps > > > Vidyanand > > > > > > > > > > > > -----Original Message----- > > > From: Vaishakhi Ajmera [mailto:[EMAIL PROTECTED]] > > > Sent: Friday, April 19, 2002 11:17 AM > > > To: [EMAIL PROTECTED] > > > Subject: Class Cast Exception using return type as List > > > > > > > > > I have followed the instructions in the mailing lists and > used these > > > options > > > to get a List as return type from a web service > > > > > > call.setReturnClass ( java.util.List.class) > > > List ls = (List)call.invoke( new Object[] {} ); > > > > > > or > > > > > > call.setReturnType( XMLType.SOAP_ARRAY); > > > ArrayList ls = (ArrayList)call.invoke( new Object[] {} ); > > > > > > Both the above combination of statements give me a > > > java.lang.ClassCastException: [Ljava.lang.Object; > > > . > > > How should I go about then to get a java.util.List as > return type from > > > my > > > webservice. > > > > > > Thanks > > > Vaishakhi > > > > > > >
