سؤال

أنا بدأت مشروع باستخدام راحة العمارة تنفيذها في جافا (باستخدام جاكس-RS القياسية)

ونحن نخطط لتطوير واجهة المستخدم الرسومية مع فليكس التطبيق.لقد وجدت بالفعل بعض المشاكل مع هذا التنفيذ باستخدام HTTPService العنصر (الرد رموز الخطأ ، رؤوس الوصول...).

أي من رفاق لديهم بعض الخبرة في مشروع مماثل.هل هو ممكن ؟

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

المحلول

المشكلة هنا هي أن الكثير من الويب المناقشات حول هذه المسألة سنة أو أكثر من العمر.أنا أعمل من خلال هذا البحث نفسه الآن و هذا ما تعلمته اليوم.

هذا IBM المطور يعمل المقالة من آب / أغسطس 2008 خورخي Rasillo و مايك لدغ يظهر كيفية القيام فليكس الأمامية / راحة الخلفية التطبيق (أمثلة في PHP و رائع).مادة لطيفة.على أي حال, هنا يسلب:

  • بهم PHP/رمز رائع يستخدم وتتوقع وضع وحذف.
  • ولكن فليكس رمز له استخدام آخر ، ولكن مجموعات HTTP X-طريقة-تجاوز حذف (يمكنك أن تفعل الشيء نفسه من أجل وضع أفترض).
  • لاحظ أن هذا هو لا الوكيل الطريقة التي نوقشت أعلاه.

// Flex doesn't know how to generate an HTTP DELETE.
// Fortunately, sMash/Zero will interpret an HTTP POST with
// an X-Method-Override: DELETE header as a DELETE.
deleteTodoHS.headers['X-Method-Override'] = 'DELETE';

ماذا يحدث هنا ؟ IBM web server وقراءتها ويفسر "بعد حذف" كما حذف.

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

"إذا كنت بناء GData العميل ، أنا بصراحة أتساءل لماذا كنت تهتم باستخدام حذف ووضع الأساليب على الإطلاق بالنظر إلى أن X-HTTP-طريقة-تجاوز هو الذهاب إلى العمل في أكثر الحالات/النشر."

بلدي يأخذ بعيدا من هذا هو أنه إذا كان الجانب ويب يدعم هذا X-طريقة-تجاوز رأس ، ثم يمكنك استخدام هذا النهج.لا مربع التعليقات تجعلني أعتقد أنه جيد إلى حد ما دعم ولكني لم يتم تأكيد ذلك حتى الآن.

تبرز قضية أخرى حول التمكن من قراءة رؤوس استجابة HTTP.مرة أخرى ، من بلوق وظيفة في عام 2007 من قبل ناثان دي فريس, نرى هذا مناقشتها.وتابع أن بلوق وظيفة و المناقشة مع التعليق:

"التغيير الوحيد على شبكة الإنترنت الجبهة هو أن إصدارات أحدث من مشغل الفلاش (بالتأكيد تلك المتوفرة مع فليكس 3 بيتا) الآن دعم responseHeaders الممتلكات في حالات HTTPStatusEvent."

أنا على أمل أن يعني أنها غير هذه المسألة الآن.

نصائح أخرى

كما أشار العديد من المراقبين HTTPService هو التبسيط قليلا و لا تفعل كل ما تريد القيام به.ومع ذلك ، HTTPService هو فقط السكر على رأس flash.net.* دروس URLLoader, URLRequest و URLRequestHeader.باستخدام هذه يمكنك تجميع معظم طلبات HTTP.

عندما يتعلق الأمر دعم أساليب أخرى من الحصول على وظيفة المشكلة غالبا تكمن في أن بعض المتصفحات (على سبيل المثال سفاري) لا تدعم هذه ، فلاش لاعب يعتمد على المتصفح على جميع الشبكات.

هناك واضح القصور فليكس على التصرف كما محض راحة العميل.

التعليقات أدناه هي من هذا بلوق:

المشكلة هي HTTPService فئة لديها العديد من القيود الرئيسية:

  1. فقط الحصول على وظيفة أساليب معتمدة من خارج منطقة الجزاء (إلا إذا كنت استخدام قوات الدفاع والأمن وتعيين useProxy السمة صحيح)
  2. غير قادرة على ضبط الطلب الرؤوس لا يوجد الوصول إلى استجابة رؤوس.ولذلك أنا لست قادرا على الوصول إلى استجابة الجسم في حالة من خطأ.
  3. فإنه HTTPService يحصل على رمز حالة أي شيء آخر 200, تنظر في خطأ.(الحدث 201 ، أوتش!!).على FaultEvent لا توفر المعلومات حول قانون الأحوال أي رد الجسم.فليكس العميل لن يكون هناك فكرة ما حدث من خطأ.

مات Raible كما قدم عرض لطيف على بقية مع القضبان, الكؤوس, GWT و فليكس أن بعض المراجع مرتبطة من ذلك.

سواء كان ممكنا أو لا حقا يتوقف على مدى استعداد للعمل من خلال إنشاء الوكلاء ، إلخ.

لقد تم العمل على مفتوح المصدر بديل HTTPService العنصر الذي يدعم بشكل كامل من الراحة.اذا كانت مهتمة, يمكنك العثور على نسخة بيتا (شفرة المصدر و/أو تجميع فليكس مشترك مكتبة وقت التشغيل) و التعليمات هنا:

http://code.google.com/p/resthttpservice/

الجواب القصير هو نعم ، يمكنك أن تفعل راحة مع فليكس.لديك فقط للتغلب على القيود المفروضة على فلاش لاعب (أفضل مع أحدث الإصدارات) و التي تحتوي على المتصفح HTTP كومة القيود.

لقد تم القيام راحة العميل التنمية في سلك معزول منذ أكثر من عام بعد حل الأساسية رأس طلب HTTP وعدم وضع وحذف عبر القضبان سقو ?_method= النهج.مبتذل ربما ، ولكن فإنه يحصل على هذه المهمة.

لاحظت بعض رؤوس الألم في بلوق وظيفة في http://verveguy.blogspot.com/2008/07/truth-about-flex-httpservice.html

فليكس دعم بقية ضعيفة في أحسن الأحوال.قضيت الكثير من الوقت في بناء النموذج حتى أنا أعرف معظم القضايا.كما ذكر سابقا , من خارج منطقة الجزاء لا يوجد سوى الدعم من أجل الحصول على وظيفة.للوهلة الأولى يبدو أن يمكنك استخدام بروكسي التكوين في LiveCycle خدمات البيانات أو الحريق للحصول على الدعم من أجل وضع وحذف.ومع ذلك, في الشام.طلب من فليكس التطبيق سوف يكون لا يزال المنصب.الوكيل يحوله إلى وضع أو حذف على جانب الملقم إلى خدعة الخاص بك برمجية من جانب الخادم.هناك قضايا أخرى أيضا.إنه سمع أن نعتقد أن هذا هو أفضل برنامج Adobe يمكن أن تأتي مع.بعد تقييمي قررنا الذهاب في اتجاه آخر.

نعم, لقد كنت قادرا على استخدام المنصب والوصول رؤوس مع هذا العنصر:

http://code.google.com/p/as3httpclient/wiki/Links

على سبيل المثال

أنا أعمل الآن على أحد التطبيقات التي تعتمد بشكل كبير على بقية المكالمات بين فليكس و جافا سكريبت Java Servlets.نصل حول استجابة رمز الخطأ المشكلة عن طريق إنشاء الاتفاقية <status id="XXX" name="YYYYYY"> الكتلة التي عادت على خطأ ، خطأ معرفات تقريبا خريطة HTTP رموز الخطأ.

نصل حول البرمجة عبر الموقع القيود باستخدام بريمج جافا كما وكيل HTTP.يدعو إلى الوكيل (الذي يعمل على نفس الخادم الذي يخدم بقية المحتوى ، بما في ذلك فليكس محتوى يرسل الطلب إلى ملقم آخر ، ثم يرسل رد إلى الأصل المتصل.

RestfulX قد حل معظم/جميع بقية المشاكل مع فليكس.وقد دعم القضبان/جي/Merb/CouchDB/الهواء/بكت ، و أنا متأكد من أنها ستكون المفاجئة إلى توصيله إلى جهاز تنفيذ جافا.

ديما المتكاملة في AS3HTTPClient المكتبة في ذلك أيضا.

التحقق من ذلك!

في الواقع كانت تستخدم بالفعل فليكس مع بقية غرار الإطار.كما mbrevort سبق ذكره وضع وحذف الطرق لا يمكن استخدامها مباشرة.بدلا من ذلك نحن نقوم وضعت من خلال وظيفة و حذف نقوم باستخدام الحصول على الموارد مع رابط المعلمة ؟ العمل=حذف.

هذا ليس 100% بقية أسلوب, لذلك أنا لست متأكدا إذا كان هذا يعمل مع JSR 311 التنفيذ.سوف تحتاج إلى بعض flexbility على جانب الملقم إلى حل وضع وحذف القيود.

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

ومع ذلك بفضل ECMA البرمجة المرنة في العمل مع XML القائمة على بقية الخدمات من السهل جدا.

باقي أكثر من أيديولوجية من أي شيء.تذهب إلى بقية العروض لديهم coolaide موزعات.

المرن تطبيقات المتداول كومة بالتزامن مع BlazeDS و AMF البيانات التنظيم هو أكثر ملاءمة وأكثر performant.

الطريقة لقد تمكنت هذه في الماضي هو استخدام PHP الوكيل الذي يتعامل مع جهاز التحكم عن بعد على شبكة الإنترنت خدمة المكالمات يعود RTU سلمان إلى العميل ..

قد يكون الجديد فليكس 4 هو الجواب http://labs.adobe.com/technologies/flex4sdk/

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

أنا أعمل على فليكس مشروع فرانكلين كوفي.نحن نستخدم بقية الخدمات.من أجل دعم هذا.أنشأنا مدعوم المجمع.باستخدام واجهة خارجية مع بعض معالجات الأحداث.نحن opensourced المكتبة.يمكنك التحقق من ذلك في https://github.com/FranklinCovey/AS3-XMLHttpRequest

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