如何从java中的axis2 web服务请求获取客户端的ip?

问题描述 投票:0回答:3

我想验证连接到我的Web服务服务器的客户端(我使用jboss 7来部署我的服务器)。所以我需要从他们的请求中获取客户端的ip。我怎么能在java中做到这一点?

java web-services axis2
3个回答
1
投票

我刚开始学习WebServices。也许这行代码会有所帮助。对Axis2不是很确定,但是使用一些旧版本的Axis,你可能会这样做。

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

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


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地址


0
投票

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

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

客户端,网络应用程序与否,请拨打我的网址https://myDomain/axis2/services/MyService

MyService在axis2.war中是一个很好的

非常感谢

© www.soinside.com 2019 - 2024. All rights reserved.