2009-02-04 8 views
39

मैं डेटा-स्रोत पेजेड सेवा में सर्वर स्थापित करने का प्रयास कर रहा हूं। मुझे सबकुछ स्थापित हो गया है ताकि मैं अपने असेंबलर को बुला रहा हूं और मूल्य वापस कर रहा हूं, लेकिन मुझे "पेजेड" कॉल नहीं मिल रही हैं।फ्लेक्स/एलसीडीएस सर्वर-टू-डेटा-स्रोत पेजिंग

विशेष रूप से:

public Collection fill(List fillArgs, int begin, int rows) 

हमेशा begin == -1 और rows == -1 साथ कहा जाता है, बजाय के माध्यम से पृष्ठ पर वास्तविक मूल्यों होने का। इसके अलावा:

public boolean useFillPage(List fillParameters) 

कभी नहीं कहा जाता है (मेरा कार्यान्वयन हमेशा सभी मानकों के लिए सच होता है)। ऐसा लगता है कि इसे कभी नहीं कहा जाता है क्योंकि JavaAdapter को फ्लेक्स क्लाइंट से पेज साइज़ हेडर प्राप्त नहीं हो रहा है।

यह मेरा गंतव्य विन्यास है:

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

और डेटा सेवा फोन करने के लिए मेरी फ्लेक्स कोड:

myDataService = new DataService("invoiceListDataService"); 
myDataService.autoSyncEnabled=false; 
myDataService.fill(invoiceReviewListModel.invoiceList, params); 

मैं यहाँ में कुछ कमी है? कोई विचार जहां दिखना शुरू करना है?

+0

मुझे लगता है कि में देख कर शुरू होगा चर पैरामीटर। यह एक उदाहरण होना चाहिए जिसमें "प्रारंभ" और "पंक्तियां" जानकारी होनी चाहिए? हो सकता है कि आपका फ्लेक्स डेटा सेवा उस पैरामीटर को अनदेखा करे। –

+1

@ ट्रेविस, आपने कुछ समय पहले यह पूछा था। क्या आपको कोई संकल्प मिला है? बीटीडब्ल्यू: मैं आपके नेटवर्क डिबगिंग आवश्यकताओं के लिए [चार्ल्स प्रॉक्सी] (http://www.charlesproxy.com/) की अत्यधिक अनुशंसा करता हूं।यह एक महान डिबगिंग टूल है जो आपको यह पता लगाने में मदद करेगा कि वास्तव में फ्लेक्स और सर्वर के बीच क्या भेजा जा रहा है। –

उत्तर

1

सबसे पहले, आपकी एडाप्टर परिभाषा क्या है? इस प्रयास करें:

<adapters> 
    <adapter-definition class="flex.data.adapters.JavaAdapter" 
     id="java-dao"></adapter-definition> 
</adapters> 

दूसरा, अपने पेजिंग संपत्ति को कस्टम = "true" गुण जोड़ें।

<paging enabled="true" pageSize="100" custom="true"/> 

तीसरा, संभवतः अपने दायरा बदलनाआवेदन करने के लिए

चौथा, अपने गंतव्य परिभाषा, अनुकूलक = "जावा-दाव" इसे करने के लिए एक संदर्भ होने के जोड़ने के बजाय। http://www.mail-archive.com/[email protected]/msg111746.html

:

<destination adapter="java-dao" id="invoiceListDataService"> 

पांचवां, सुनिश्चित करें कि आप आवश्यक तरीकों (useFillPage, संग्रह को भरने, आदि)

@Override 
public boolean useFillPage(List fillParameters) 
{ 
    // enabling paged-fill for all fills 
    return true; 
} 

Overridding रहे हैं एक ऐसी ही समस्या के लिए कुछ उपयोगी प्रतिक्रिया के लिए इस सूत्र देखें बनाना

1

आपकी गंतव्य कॉन्फ़िगरेशन पूर्ण दिखता है।

तरह जांच लें कि आप कोडांतरक फैली AbstractAssembler:

public class InvoiceReviewListAssembler extends AbstractAssembler 

और आप कम से कम निम्नलिखित ओवरराइड कि:

@Override 
public int count(List arg0) { 
    return -1; // or return the collection length. 
} 

@Override 
public boolean useFillPage(List fillParameters) {  
    return true; 
} 

@Override 
public Collection fill(List fillParameters, 
         PropertySpecifier ps, 
         int startIndex, 
         int numItems) { 
    // TODO 
} 
संबंधित मुद्दे