Spring-WS: как получить доступ к MessageContext из PayloadEndpoint

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

  •  03-07-2019
  •  | 
  •  

Вопрос

Что такое "канонический" способ получить доступ к MessageContext из PayloadEndpoint?

Мы используем PayloadEndpoint и AbstractMarshallingPayloadEndpoint , которые не предоставляют MessageContext своим методам invoke / invokeinternal, но теперь должны получить доступ к параметрам HTTP-запроса.

Это было полезно?

Решение

Проще всего придумать: создать конечную точку «обертки», которая реализует MessageEndpoint . Затем вы можете извлечь параметры запроса и передать их фактической конечной точке.

Вы можете хранить переменные запроса в ThreadLocal, чтобы исходная конечная точка могла получить к ним доступ.

Другие советы

Кто-то на форуме Spring предложил использовать TransportContext для доступа к параметрам HTTP-запроса. Это помогает решить нашу конкретную проблему, но не отвечает на первоначальный вопрос, как получить MessageContext.

Другой идеей было бы представить EndpointInterceptor и используйте ThreadLocal. Но я надеялся, что есть способ, который меньше похож на взлом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top