Getter not returning value

I was hoping someone can give me a hand with the following class which I have a setter and getter method , the getter method should return an array collection but it’s always returning an empty array collection even when I’ve run trace to check on it.

Class file is attached below , and here’s how I’m calling it


var webService:WebService = new WebService();
webService.searchText = searchText.text;
webService.searchParam = searchComboBox.selectedLabel;
webService.searchBook();
trace("WEBSERVICE ARRAY OF Book ----->" + webService.arrayOfBook);      // This would return as empty array
package 
{
        import com.something.*;
        
        public class WebService{
                
                public var _arrayOfBook:ArrayOfBook;
                private var _magazine:Book;
                private var _service:Service = new Service();
                private var _searchText:String;
                private var _searchParam:String;
                
                public function WebService(){
                        _arrayOfBook = new ArrayOfBook();
                }
                        
                public function set     searchText(value:String):void{
                        this._searchText = value;
                }
                
                public function get searchText():String{
                        return _searchText;
                }       
                        
                public function set searchParam(value:String):void{
                        this._searchParam = value;
                }       
                
                public function get searchParam():String{
                        return _searchParam;
                }
                                
                public function get arrayOfBook():ArrayOfBook{
                       trace(this._arrayOfBook) // this trace shows an empty array collection
                        return this._arrayOfBook;
 
                }
                        
                        
                public function searchBook():void{
                        _service.addgetTitleEventListener(handleServiceError);
                        var request:GetTitle_request = new GetTitle_request();
                        request.searchString = _searchText;
                        request.searchParameter = _searchParam.toLowerCase();
                        _service.getTitle_request_var = request;
                        _service.getTitle_send();
                        _service.addgetTitleEventListener(convertData); 
                }
                        
                public function convertData(e:GetTitleResultEvent):void{
                                _arrayOfBook = e.result;
                                _arrayOfBook.filterFunction = filterImage;
                                _arrayOfBook.refresh();
                        }       
                        
                public function filterImage(item:Object):Boolean{
                        return item.imagename;
                }       
                
                
                        
                private function handleServiceError(event:GetTitleResultEvent):void{
                            trace(event.result); // trace here shows that my array is filled
                }
                
 
        }
}