ApacheAxis2 Webservice-获取客户端的端口和ip地址
我有一个ApacheAxis2 web服务,我正在尝试记录客户端ip地址和端口号。我可以通过以下方式获取ip地址:ApacheAxis2 Webservice-获取客户端的端口和ip地址,apache,web-services,axis2,axis,Apache,Web Services,Axis2,Axis,我有一个ApacheAxis2 web服务,我正在尝试记录客户端ip地址和端口号。我可以通过以下方式获取ip地址: MessageContext inMessageContext = MessageContext.getCurrentMessageContext(); String ip = (String)inMessageContext.getProperty("REMOTE_ADDR"); 如何获取它来自的端口号 我是axis2的新手,我无法理解你的问题。您正在尝试访问请求者端口号还
MessageContext inMessageContext = MessageContext.getCurrentMessageContext();
String ip = (String)inMessageContext.getProperty("REMOTE_ADDR");
如何获取它来自的端口号 我是axis2的新手,我无法理解你的问题。您正在尝试访问请求者端口号还是请求URL端口号 下面的链接可能对您获取请求URL端口号很有用。请查收
public class MyServlet extends AxisServlet
{
protected MessageContext createMessageContext( HttpServletRequest request, HttpServletResponse response, boolean invocationType ) throws IOException
{
MessageContext mc = super.createMessageContext( request, response, invocationType );
URL url = new URL( request.getRequestURL().toString() );
mc.setProperty( "myPort", url.getPort() );
return mc;
}
}
当然,您必须将类名放在axis2/../web.xml中,然后重新启动tomcat。然后,您可以检查任何axis2调用中的端口号:
MessageContext mc = MessageContext.getCurrentMessageContext();
int port = ( Integer ) mc.getProperty( "myPort" );
资料来源: