I’m trying to set up a server to data-source paged service. I’ve got everything set up so that I’m getting my assembler called and am returning values, but I’m not getting “paged” calls.
Specifically:
public Collection fill(List fillArgs, int begin, int rows)
is always called with begin == -1
and rows == -1
, instead of getting real values to page through. In addition:
public boolean useFillPage(List fillParameters)
is never called (my implementation always returns true for all parameters). It looks like it is never called because the JavaAdapter is not receiving the pageSize header from the Flex client.
This is my destination configuration:
<destination id="invoiceListDataService">
<adapter ref="java-dao" />
<properties>
<scope>session</scope>
<source>com.williams.finance.invoice.dao.InvoiceReviewListAssembler</source>
<network>
<paging enabled="true" pageSize="100" />
</network>
<metadata>
<identity property="invoiceNumber"/>
</metadata>
</properties>
</destination>
And my Flex code for calling the data service:
myDataService = new DataService("invoiceListDataService");
myDataService.autoSyncEnabled=false;
myDataService.fill(invoiceReviewListModel.invoiceList, params);
Am I missing something in here? Any ideas where to start looking?
First, What is your adapter definition? Try this:
Second, add custom="true" attribute to your paging property.
Third, possibly change your scope to application
Fourth, in your destination definition, add adapter="java-dao" instead of having a reference to it.
Fifth, make sure you're Overridding the necessary methods (useFillPage, Collection fill, etc.)
See this thread for some helpful responses to a similar problem: http://www.mail-archive.com/[email protected]/msg111746.html