[英]HttpServletRequest is coming as null in Apache cxf interceptor
我需要將請求及其相應的響應進行匹配,因此我嘗試獲取會話ID以匹配每個請求及其響應。 我在構造函數中使用Phase.PRE_STREAM
。
我正在嘗試在攔截器中使用HttpServletRequest和會話ID,如下所示
public void handleMessage(Message msg) {
HttpServletRequest req = (HttpServletRequest)msg.get("HTTP.REQUEST");
}
但是我得到空值。 有人可以告訴我如何在apache cxf中使用HttpServletRequest嗎?
創建客戶端時是否需要設置會話ID。我按如下方式創建客戶端
JAXRSClientFactoryBean sf = new JAXRSClientFactoryBean();
sf.setResourceClass(CustomerService.class);
sf.setAddress("http://localhost:9000/");
BindingFactoryManager manager = sf.getBus().getExtension(BindingFactoryManager.class);
JAXRSBindingFactory factory = new JAXRSBindingFactory();
factory.setBus(sf.getBus());
manager.registerBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID, factory);
CustomerService service = sf.create(CustomerService.class);
WebClient wc = sf.createWebClient();
像這樣實現SOAP處理程序:
public class SOAPRequestHandler implements SOAPHandler<SOAPMessageContext>
並像這樣實現您的處理程序:
public boolean handleMessage(SOAPMessageContext msgContext)
{
HttpServletRequest request = (HttpServletRequest) msgContext.get("HTTP.REQUEST");
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.