gpt4 book ai didi

servlets - 在soapMessageContext - Axis Handler中获取 "HttpServletRequest"

转载 作者:行者123 更新时间:2023-12-03 17:58:15 26 4
gpt4 key购买 nike

我试图在 AxisHandler 的“handleMessage”方法中获取“HttpServletRequest”。
我的 AxisHandler 实现了“SOAPHandler”,如下面的代码所示。

我需要在“InBoundDirection”中获取“HttpServletRequest”,但它返回“null”。

如何在 SOAPHandler 的“InBoundDirection”中获取“HttpServletRequest”?

谢谢..

@Override
public boolean handleMessage(SOAPMessageContext soapMessageContext) {
boolean direction = ((Boolean) soapMessageContext.get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY)).booleanValue();
if (direction) {
System.out.println("direction = outbound");
} else {
System.out.println("direction = inbound");
HttpServletRequest servletReq=(HttpServletRequest) soapMessageContext.get(MessageContext.SERVLET_REQUEST);
// BECAUSE servletReq is null the following line returns a "nullPointerException"
System.out.println(servletReq.getRemoteHost());
}
return true;
}

最佳答案

看到这个帖子 jax ws getting client ip一个很好的解释。看起来,如果想要拥有一个通用处理程序(在我的情况下是提取客户端证书),则需要为 EE 容器托管的 Web 服务和 SE 托管的容器实现相同的逻辑。

关于servlets - 在soapMessageContext - Axis Handler中获取 "HttpServletRequest",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7657913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com