كيف يمكنني تصحيح Serialization AMF (Blazeds) عن كائنات Java إلى Actioncript؟

StackOverflow https://stackoverflow.com/questions/979617

سؤال

أنا أستخدم الاشتاق إلى جهاز التحكم عن بعد لبعض كائنات Java التي أستهلكها في تطبيق Flex. أحصل على خطأ من نوع الإكراه مع واحدة من فصالتي التي لا أستطيع عن مدى الحياة مني. لدي فصول أخرى تعمل بشكل جيد باستخدام نفس أنواع البيانات، وقد ذهبت فوق رسم الخرائط الخاصة بي عشر مرات. أنا أتابع كل الاتفاقيات اللازمة للمحصلات والشركات بقدر ما أعرف ...

على أي حال، سؤالي هو: كيف يمكنني تصحيح هذه المشكلة؟ يقوم بتشغيل التطبيق المرن في وضع التصحيح في وضع بعض الأخطاء العامة إلى وحدة التحكم التي لا تساعد كثيرا كثيرا (TypeError: خطأ # 1034: لا يمكن تحويل الإكراه: لا يمكن تحويل كائن @ 5D1D809 إلى ValueObjects.someclass.).

أنا جديد على هذا الشيء كله AMF / Flex + Java، لذلك سيتم تقدير أي نصائح موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

هؤلاء هما من الأدوات التي أستخدمها عند العمل مع العزافين، AMF، إلخ:

  • استخدم أداة وكيل HTTP الذي يدل على المكالمات بين عميلك والخادم، مثل تشارلز

Charles عبارة عن "وكيل HTTP" / HTTP مراقب / وكيل عكسي يمكن مطورا لعرض جميع حركة مرور HTTP و SSL / HTTPS بين جهازها والإنترنت. ويشمل ذلك الطلبات والردود ورؤوس HTTP (التي تحتوي على ملفات تعريف الارتباط ومعلومات التخزين المؤقتة).

  • قم بتشغيل التسجيل لل Blazeds. وبعد داخل WEB-INF/conf/services-conf.xml, ، خفض مستوى التصحيح إلى "debug"مثل في المخزن أدناه. الإخراج، المفصل إلى حد ما، سوف تظهر في {tomcat-home}/logs/localhost.yyyy-mm-dd.log

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

نصائح أخرى

أسهل طريقة للتحقق من الاتصالات بين رسائل AMF للعملاء الخدمة هي استخدام Firefox، تثبيت Firebug. تمديد وإضافة amf explorer.. وبعد يمكنك رؤية الطلبات والردود الهيكلية.

يجب أن يكون لفئة Java التي يتم تجارها في جانب العميل مرجعا إلى كائن من فئة AS3 المقابلة في التطبيق (MXML أو AS3). خلاف ذلك، لن يتم تحميل فئة AS3 في ملف SWF وستؤدي إلى تحيزي من فئة Java إلى كائن AS3 عام.

محدثسيحدث هذا على الرغم من وجود رسم الخرائط والآجيلة والتعليقات. فقط أعلن كائنا من فئة AS3 المقابلة في قسم البرنامج النصي من MXML الخاص بك.

يمكنني استخدام Flex Builder وقم بإعدادها لتصحيح الأخطاء الجانبية للعميل والخادم. لقد كان من الألم للإعداد في البداية، ولكن يمكنك جوجل للبرامج التعليمية خطوة بخطوة. أجد أنه قيمة تماما لتصحيح الأخطاء. أخيرا راجعت، لدى Flex Builder تجربة مجانية وهي حر في الطلاب والعاطلين عن العمل.

تجدر الإشارة أيضا إلى أن الأجهزة في جافا يمكن أن تسبب أيضا فقدان المعلومات و / أو التدخل في عملية التسلسل والتدفق.

لقد واجهت هذا TypeError: Error #1034: Type Coercion failed في مشروع (Fern <-> BLAZEDS + SPRING) حيث تم تطبيق طبقة الوصول إلى البيانات الخاصة بنا مع iBatis وكانت قد تحولت إلى التحميل الكسول - لقد قمت بإيقاف تشغيله لأن هذا التدبير يمثل فقدان الكفاءة الأقل (من الناحية النظرية، على الأقل)، بالمقارنة مع الحلول الأخرى التي لدينا في مكانها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top