2008-10-22 10 views
0

Что такое «канонический» способ доступа к MessageContext из PayloadEndpoint?Spring-WS: Как получить доступ к MessageContext из PayloadEndpoint

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

ответ

0

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

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

+0

Это метод, который мы успешно использовали. Метод EndpointInterceptor в настоящее время не работает (начиная с Spring-ws 1.5.4), поскольку доступ к доступу в любом случае - даже если перехватчик задает ответ. – 2008-11-03 13:19:11

0

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

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