PayloadEndpoint에서 MessageContext에 액세스하는 "표준"방법은 무엇입니까?Spring-WS : PayloadEndpoint에서 MessageContext에 액세스하는 방법
PayloadEndpoint과 AbstractMarshallingPayloadEndpoint은 MessageContext를 invoke/invokeinternal 메소드에 노출시키지 않지만 HTTP 요청 매개 변수에 액세스해야합니다.
PayloadEndpoint에서 MessageContext에 액세스하는 "표준"방법은 무엇입니까?Spring-WS : PayloadEndpoint에서 MessageContext에 액세스하는 방법
PayloadEndpoint과 AbstractMarshallingPayloadEndpoint은 MessageContext를 invoke/invokeinternal 메소드에 노출시키지 않지만 HTTP 요청 매개 변수에 액세스해야합니다.
내가 생각할 수있는 가장 쉬운 방법은 MessageEndpoint을 구현하는 '래퍼'엔드 포인트를 작성하는 것입니다. 그런 다음 요청 매개 변수를 추출하여 실제 엔드 포인트로 전달할 수 있습니다.
요청 변수를 ThreadLocal에 저장하면 원래 끝점에서 액세스 할 수 있습니다.
Someone on the Spring 포럼 suggestedTransportContext을 사용하여 HTTP 요청 매개 변수에 액세스하십시오. 이것은 특정 문제를 해결하는 데 도움이되지만 MessageContext를 가져 오는 방법에 대한 원래 질문에 대답하지 않습니다.
또 다른 아이디어는 EndpointInterceptor을 소개하고 ThreadLocal을 사용하는 것입니다. 그러나 나는 해킹과 같은 느낌이 덜한 방법이 있기를 바랬다.
우리가 성공적으로 사용하고있는 방법입니다. EndpointInterceptor 메소드는 인터셉터가 응답을 설정하더라도 연결이 어쨌든 액세스되기 때문에 현재 작동하지 않습니다 (Spring-w 1.5.4). –