2017-02-13 1 views
0

세션에 데이터를 저장하는 수신 단계에 바인딩 된 "인터셉터에서"cxf가 있습니다. (인터셉터에서)cxf out 인터셉터에서 세션을 얻는 방법

MyCxfInInterceptor (인터셉터 아웃)

public class MyCxfInInterceptor extends AbstractSoapInterceptor { 
    public MyCxfInInterceptor() { 
     super(Phase.RECEIVE); 
    } 
    public void handleMessage(SoapMessage message) throws Fault { 
     HttpServletRequest request (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST); 
     HttpSession session = request.getSession(true); 

     session.setAttribute("foo","bar"); 
    } 
} 

MyCxfOutInterceptor 내 "밖으로 인터셉터"로 논문의 데이터를 검색 할

public class MyCxfOutInterceptor extends AbstractSoapInterceptor { 
     public MyCxfOutInterceptor() { 
     super(Phase.SEND); 
     } 


     public void handleMessage(SoapMessage message) throws Fault { 
     //TODO Retrieve data from session. 
     } 
    } 

. 내가 어떻게 해 ?

HttpServletResponse에서 세션을 검색하는 방법을 모르겠습니다. 어쩌면 세션을 더 이상 사용할 수 없습니다. & 데이터를 검색하는 다른 방법이 있습니까?

봄이 도움이 될 수 있습니까?

답변

1

당신은

인터셉터에서

public void handleMessage(SoapMessage message) throws Fault { 
    message.getExchange().put("foo","bar"); 
} 

요격 아웃 인터셉터에서 아웃 사이에 데이터를 교환 할 수는 Exchange을 사용할 수 있습니다

public void handleMessage(SoapMessage message) throws Fault { 
    Object obj = message.getExchange().get("foo"); 
} 
관련 문제