2011-07-08 9 views
5

मैं नीचे दिए गए कोड पर शक नहीं है ..GWT RPC इंटरफ़ेस मुद्दा

@RemoteServiceRelativePath("stockPrices") 
public interface StockPriceService extends RemoteService { 

    StockPrice[] getPrices(String[] symbols); 
} 

किसी भी एक मुझे समझा सकते हैं क्या @RemoteServiceRelativePath("stockPrices") का प्रयोग होता है और क्या नाम हम "stockPrices" में देने की आवश्यकता .. यह अनिवार्य है ??

अग्रिम धन्यवाद !!!

उत्तर

8

documentation for RemoteServiceRelativePath annotation देखें, यह बताता है कि यह एनोटेशन क्या करता है। आपके मामले में, आपकी सेवा GWT.getModuleBaseURL() + "stockPrices" पर स्थित होनी चाहिए ... इसका मतलब है कि यदि आपका जीडब्ल्यूटी ऐप /mygwtapp पर है, तो आपकी सेवा /mygwtapp/stockPrices पर होनी चाहिए। सेवा यूआरएल को लागू करने वाले सर्वलेट को परिभाषित करके, आमतौर पर इस यूआरएल पर कुछ सेवा स्थापित करने के लिए आप पर निर्भर है।

आप "stockPrices" के बजाय किसी भी अन्य पथ का उपयोग कर सकते हैं, बस सुनिश्चित करें कि सर्वर पर इस पथ के पीछे वास्तविक सेवा है।

आपका रिमोट सेवाओं कुछ दूरदराज के पथ (प्रवेश बिंदु) की जरूरत है, या तो @RemoteServiceRelativePath एनोटेशन का उपयोग करके, या ServiceDefTarget interface के माध्यम से यह निर्धारित करके। अगर सेवा में कोई प्रविष्टि बिंदु नहीं है, तो इसे नहीं कहा जा सकता है। (याद रखें: इस पथ सर्वर पर URL है)

उदाहरण के लिए बजाय @RemoteServiceRelativePath का उपयोग कर के, यह व्याख्या के बिना अपने सेवा परिभाषित कर सकते हैं, और फिर जब तुम async सेवा प्रॉक्सी का दृष्टांत, आप स्पष्ट रूप से सेट पथ:

StockPriceServiceAsync stockService = GWT.create(StockPriceService.class); 
((ServiceDefTarget) stockService).setServiceEntryPoint("/services/stock.service"); 
+0

हाँ, मैं समझ गया, आपकी प्रतिक्रिया के लिए धन्यवाद !!! –