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
> > >
> > >
> 

Reply via email to