如何从Java中的axis2 Web服务请求获取客户端的IP?

时间:2018-08-16 04:11:43

标签: java web-services axis2

我想验证客户端连接到我的Web服务服务器(我使用jboss 7部署服务器)。因此,我需要从他们的请求中获取客户的IP。如何在Java中做到这一点?

3 个答案:

答案 0 :(得分:1)

我刚刚开始学习Web服务。 也许这行代码会有所帮助。对于Axis2不太确定,但是使用一些较旧版本的Axis,您可能会这样做。

MessageContext messageContext = MessageContext.getCurrentContext(); 
String ipAddress = messageContext.getStrProp(Constants.MC_REMOTE_ADDR);

很少有用于获取客户端特定属性的常量。 如有必要,您可能想使用一些自定义标头来获取属性。

答案 1 :(得分:1)

在Axis2中,您可以从MessageContext获取远程(客户端)IP:

import org.apache.axis2.context.MessageContext;
MessageContext mc = MessageContext.getCurrentMessageContext();
String clientIP = (String) mc.getProperty(MessageContext.REMOTE_ADDR);

参考:AXIS2-1610:需要在服务器端获取客户端IP地址

答案 2 :(得分:0)

我使用的是axis2 1.5.3,我读取了属性“ MessageContext.REMOTE_ADDR”,但它返回了我的axis2.war所在的Jboss应用服务器的IP地址。

我将代码java放在类“ MessageReceiverInOut”中,如何获取执行我的Web服务Axis2的客户端的IP地址?

无论是客户端还是Web应用程序,请致电我的网址https://myDomain/axis2/services/MyService

MyService在axis2.war内部是aar

非常感谢