> Hi,
>
> I use the code below to access an axis WebService.
> If I create one instance of these class and call the get
> method (more than once), all results (Flight[]) aren't
> garbage collected.
> What am I doing wrong?
>
> Thanks for your help,
> Manuel
>
>
>
>
> public class Flights implements FlightsIF {
>
> private Call call;
>
> public Flights(ConfigFile conf) {
> this.conf = conf;
> try {
> String endpoint = "URL://Flights";
> Service service = new Service();
> call = (Call) service.createCall();
> call.setTargetEndpointAddress(new
> java.net.URL(endpoint));
> QName qn = new QName( "urn:Flights", "Flight" );
> BeanSerializerFactory bsf=new
> BeanSerializerFactory(Flight.class, qn);
> BeanDeserializerFactory bsdf=new
> BeanDeserializerFactory(Flight.class,qn);
> call.registerTypeMapping(Flight.class,
> qn, bsf, bsdf);
> call.setOperationName( new
> QName("Flights", "get"));
> call.setReturnType( XMLType.SOAP_ARRAY );
> }
> catch (Exception e) {
> e.printStackTrace();
> }
>
> }
>
> public Flight[] get() {
> return this.get(this.defaultBase);
> }
>
> public synchronized Flight[] get(String boarding) {
> Flight[] flights=null;
> try {
> flights = (Flight[]) call.invoke(new
> Object[] {boarding.toUpperCase()});
> }
> catch (RemoteException e) {
> e.printStackTrace();
> }
> return flights;
> }
>
> }
>