2009-06-11 8 views
7

मैं कुछ जावा ऑब्जेक्ट्स को दूरस्थ करने के लिए BlazeDS का उपयोग कर रहा हूं जिसे मैं फ्लेक्स एप्लिकेशन में ले रहा हूं। मुझे अपनी कक्षाओं में से एक के साथ एक प्रकार की जबरदस्त त्रुटि मिल रही है जो मैं अपने जीवन के लिए नहीं समझ सकता। मेरे पास अन्य कक्षाएं हैं जो समान डेटा प्रकारों का उपयोग करके ठीक काम कर रही हैं, और मैं अपने मैपिंग पर एक दर्जन बार चला गया हूं। मैं गेटर्स और सेटर्स के लिए सभी आवश्यक सम्मेलनों का पालन कर रहा हूं, जहां तक ​​मुझे पता है ...मैं ऐक्शनस्क्रिप्ट में जावा ऑब्जेक्ट्स के एएमएफ (ब्लेज़डीएस) क्रमबद्धता को कैसे डीबग कर सकता हूं?

किसी भी तरह, मेरा सवाल है: मैं इस समस्या को कैसे डीबग कर सकता हूं? डीबग मोड में फ्लेक्स ऐप चलाने से कंसोल में कुछ सामान्य त्रुटियां निकलती हैं जो वास्तव में बहुत मदद नहीं करती हैं (TypeError: त्रुटि # 1034: टाइप जबरन विफल: ऑब्जेक्ट @ 5d1d809 को valueObjects.SomeClass में परिवर्तित नहीं कर सकता।)।

मैं इस पूरे एएमएफ/फ्लेक्स + जावा चीज़ के लिए नया हूं, इसलिए किसी भी सुझाव की सराहना की जाएगी।

उत्तर

13

इन उपकरणों मैं जब BlazeDS, AMF, आदि .:

  • उपयोग एक HTTP प्रॉक्सी उपकरण है कि आपके ग्राहक और सर्वर के बीच कॉल से पता चलता, तरह Charles के साथ काम करने का उपयोग में से दो हैं

Charles is an HTTP proxy/HTTP monitor/Reverse Proxy that enables a developer to view all of the HTTP and SSL/HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).

  • BlazeDS के लिए लॉगिंग चालू करें। WEB-INF/conf/services-conf.xml के भीतर, नीचे दिए गए स्निपिट में 'debug' पर डिबगिंग स्तर को कम करें। {tomcat-home}/logs/localhost.yyyy-mm-dd.log

    < target class="flex.messaging.log.ConsoleTarget" level="debug">

+0

धन्यवाद! वैसे ऐसा लगता है कि सर्वर की ओर से सबकुछ सही ढंग से क्रमबद्ध किया जा रहा है। जब यह ग्राहक को मिलता है तो कुछ पुकिंग होता है। मैं कैसे देख सकता हूं कि क्लाइंट में क्या हो रहा है क्योंकि यह deserializing है? – Boden

+0

मैं यह देखने के लिए जांचूंगा कि क्या आप वास्तव में "बाध्यकारी" हैं, वास्तव में 1: 1 जावा: एएस 3 ऑब्जेक्ट्स, संगत डेटा प्रकार और "[बाइंडेबल]" और "[रिमोट क्लास (उर्फ =" com.mycorp.myproj का सही उपयोग। vo.User ")]" AS3 बाध्यकारी विशेषताएं। Googlenets में वहाँ बहुत सारे उदाहरण हैं। –

+0

मेरे प्रकार ठीक हैं, मेरे रिमोट क्लास उपनाम सही हैं, और मैंने बाइंडेबल के साथ प्रयोग किया है। मैंने आपके सुझाव के अनुसार चार्ल्स का उपयोग किया और सर्वर से सबकुछ वापस आ रहा है ... कक्षा के नाम, प्रकार, डेटा, सबकुछ। अगर मैं सिर्फ विशिष्ट कारण देख सकता हूं कि मजबूती विफल हो रही है तो मैं इसे समझने में सक्षम हो सकता हूं ... लेकिन अभी मैं अंधेरा महसूस करता हूं। – Boden

0

में मैं फ्लेक्स बिल्डर उपयोग करें और यह दोनों क्लाइंट और सर्वर साइड डिबगिंग के लिए सेट अप है उत्पादन है, जो काफी विस्तृत है, दिखाई देगा। यह पहली बार स्थापित करने का दर्द था, लेकिन आप चरण-दर-चरण ट्यूटोरियल के लिए Google कर सकते हैं। मुझे आरपीसी डीबगिंग के लिए काफी मूल्यवान लगता है। आखिरी बार मैंने जांच की, फ्लेक्स बिल्डर के पास नि: शुल्क परीक्षण है और छात्रों और बेरोजगारों के लिए नि: शुल्क है।

2

क्लाइंट पक्ष में deserialized जावा क्लास अनुप्रयोग (एमएक्सएमएल या एएस 3) में संबंधित AS3 कक्षा के किसी ऑब्जेक्ट का संदर्भ होना चाहिए। अन्यथा, एएस 3 वर्ग को एसएफएफ फ़ाइल में लोड नहीं किया जाएगा और परिणामस्वरूप जावा क्लास को सामान्य जे 3 ऑब्जेक्ट में deserializing होगा।

अद्यतन मैपिंग, गेटर्स और सेटर्स होने के बावजूद यह होगा। बस अपने एमएक्सएमएल के स्क्रिप्ट खंड में संबंधित AS3 कक्षा का ऑब्जेक्ट घोषित करें।

+0

मेरे 'main.mxml' में, मैं बस 'निजी कॉन्स myVO: MyVO = null;' जोड़ता हूं और मैंने काम किया, धन्यवाद। –

4

सेवा-ग्राहकों AMF संदेशों के बीच संचार पर जाँच करने के लिए सबसे आसान तरीका है, Firefox का उपयोग स्थापित FireBug विस्तार और AMF Explorer जोड़ना है। आप संरचित अनुरोध और प्रतिक्रिया देख सकते हैं।

0

यह भी ध्यान देने योग्य है कि जावा में उपकरण भी जानकारी का नुकसान हो सकता है और/या धारावाहिक प्रक्रिया और धारा में हस्तक्षेप कर सकता है।

मैं एक परियोजना पर इस TypeError: Error #1034: Type Coercion failed अनुभव किया है (फ्लेक्स < -> BlazeDS + स्प्रिंग) जहां हमारे डेटा का उपयोग परत iBatis साथ लागू किया गया था और आलसी लोडिंग पर अपना चुका है - हम के रूप में है कि उपाय का प्रतिनिधित्व कम इसे बंद कर दिया दक्षता का नुकसान (सैद्धांतिक रूप से, कम से कम), जैसा कि हमारे पास अन्य कामकाजों की तुलना में था।

संबंधित मुद्दे