ربيع-WS: كيفية الوصول MessageContext من PayloadEndpoint

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

  •  03-07-2019
  •  | 
  •  

سؤال

ما هو "الكنسي" وسيلة للوصول إلى MessageContext من PayloadEndpoint؟

ونحن نستخدم <لأ href = "http://static.springframework.org/spring-ws/sites/1.5/apidocs/org/springframework/ws/server/endpoint/PayloadEndpoint.html" يختلط = "نوفولو noreferrer "> PayloadEndpoint و <لأ href =" http://static.springframework.org/spring-ws/sites/1.5/apidocs/org/springframework/ws/server/endpoint/AbstractMarshallingPayloadEndpoint.html "يختلط =" نوفولو noreferrer "> AbstractMarshallingPayloadEndpoint حيث لا تعرض MessageContext لاستدعاء وأساليبها / invokeinternal، ولكن سوف تحتاج الآن للوصول إلى المعلمات طلب HTTP.

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

المحلول

وأسهل طريقة يمكنني أن أفكر في: إنشاء "المجمع" نقطة النهاية التي تنفذ <لأ href = "http://static.springframework.org/spring-ws/sites/1.5/apidocs/org/springframework/ws/server /endpoint/MessageEndpoint.html "يختلط =" نوفولو noreferrer "> MessageEndpoint . ثم يمكنك استخراج المعلمات طلبك وتمريرها الى نقطة النهاية الفعلية الخاصة بك.

هل يمكن تخزين متغيرات الطلب في ThreadLocal حتى نقطة النهاية الأصلية يمكن الوصول إليها.

نصائح أخرى

واقترح شخص ما في المنتدى الربيع للاستخدام في TransportContext للوصول إلى المعلمات طلب HTTP. وهذا يساعد على حل مشكلتنا معينة، ولكن لا يجيب على السؤال الأصلي كيفية الحصول على MessageContext.

وفكرة أخرى تتمثل في إدخال علامة <لأ href = "http://static.springframework.org/spring-ws/sites/1.5/apidocs/org/springframework/ws/server/EndpointInterceptor.html" يختلط = " noreferrer نوفولو "> EndpointInterceptor واستخدام ThreadLocal. ولكن كنت آمل أن هناك طريقة التي يشعر أقل مثل الإختراق.

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