كيف يمكنني الحصول على كائن ServleTRequest من داخل طريقة XFire Abstracthandler's Invoke ()؟

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

سؤال

أنا أستخدم XFIRE كمزود خدمات الويب لـ Spring Remoting. أنا أستخدم Abstracthandler لمصادقة طلب الصابون. تتمثل الفكرة في تحديد الطلب من خلال مجال الخادم الأصلي ومفتاح API (خرائط Google A-LA). المشكلة الوحيدة هي أنه لا يمكنني إيجاد طريقة لجلب كائن ServleTrequest من داخل طريقة Invoke () ، والتي تقبل فقط كائن MessageContext.

الفكرة الوحيدة التي يمكنني التفكير فيها هي استخدام مرشح وتخزين كائن الطلب داخل متغير Threadlocal ، لكنني أفضل حقًا تجنب هذا الحل.

أيه أفكار؟

هتافات

شاي

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

المحلول

لم أختبر هذا ولكن لدي مصدر لـ Xfire في متناول يدي ، لذا فقد حفرت في الفصول لمعرفة ما إذا كان هذا سيكون سهلاً. من داخل المكالمة إلى invoke يجب أن تكون قادرًا على الحصول على ServletRequest مع الرمز التالي:

ServletRequest request = (ServletRequest) context.getProperty(org.codehaus.xfire.transport.http.XFireServletController.HTTP_SERVLET_REQUEST);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top