关于CXF获取IP的方法

问题描述

参照网上一般是@ResourceprivateWebServiceContextwsContext;MessageContextctx=context.getMessageContext();HttpServletRequestrequest=(HttpServletRequest)ctx.get(AbstractHTTPDestination.HTTP_REQUEST);即可在soap这种webservice我测试没有问题但是当rest这种的时候MessageContextctx=context.getMessageContext();得到的是null不知道有没有能帮我解决的大侠谢谢

解决方案

解决方案二:
代码@Path("/service")//@Produces("application/xml")publicclassService{@ContextprivateWebServiceContextcontext;@POST@Path("/post/")publicStringpostRequest(StringbeanString){System.out.println(this.getClientIpCxf());return“”;}//获取ip方法privateStringgetClientIpCxf(){MessageContextctx=context.getMessageContext();HttpServletRequestrequest=(HttpServletRequest)ctx.get(AbstractHTTPDestination.HTTP_REQUEST);returnrequest.getRemoteAddr();}}

解决方案三:
importjava.util.Date;importjavax.annotation.Resource;importjavax.jws.WebService;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpSession;importjavax.xml.ws.WebServiceContext;importjavax.xml.ws.handler.MessageContext;importorg.apache.cxf.message.Message;importorg.apache.cxf.transport.http.AbstractHTTPDestination;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;@WebServicepublicclassSendSMSImplimplementsSendSMS{privateLoggerlog=LoggerFactory.getLogger(this.getClass());@ResourceprivateWebServiceContextcontext;@OverridepublicResultObjsendSMSInfo(Stringusername,Stringpassword,StringsmsContent,StringsendStartDt,StringsendEndDt,StringspName,StringbusinessId,StringstreamNo){Stringip=getIp();returnobj;}publicStringgetIp(){try{MessageContextctx=context.getMessageContext();HttpServletRequestrequest=(HttpServletRequest)ctx.get(AbstractHTTPDestination.HTTP_REQUEST);Stringip=request.getRemoteAddr();returnip;}catch(Exceptione){return"获取ip失败";}}}
解决方案四:
楼上那个是soap的webservice这个我上面说过测试过是对的,但是现在我需要的是这种针对post消息过来时候去得IP的不知道有没有样例?或者方法?
解决方案五:
importorg.apache.cxf.jaxrs.ext.MessageContext;importjavax.ws.rs.core.Context;@ContextprivateMessageContextmessgeContext;HttpServletRequestrequest=messgeContext.getHttpServletRequest();request.getRemoteAddr();自问自答一下吧。注意一下引入的类和3楼给出的例子那个是不同的,这种适用于restful的cxf开发的。前5个留言的给分散分。
解决方案六:
http://cxf.apache.org/docs/webservicecontext.html你是怎么写的?LZ看一下这个http://www.oschina.net/question/158246_45413我不太清楚
解决方案七:
2楼正解~~
解决方案八:

解决方案九:
我也遇到这个问题了,楼主解决了吗?

时间: 2024-12-22 15:29:41

关于CXF获取IP的方法的相关文章

phpcms获取ip的方法

  phpcms获取ip的方法,今天做黄页的时候,因为刚入手phpcms,所以对系统有些不解,有个评论功能想保存评论者的ip,百度了一下,竟然没有说搜到,经过我苦苦搜寻,哈哈找到了,原来在系统共用的函数里,要想调用获取ip的方法,必须先引用系统公共方法: pc_base::load_app_func('global'); 然后这样引用就可以了 $ip=ip(); 找到了方法做声明的地方,哈哈,和thinkphp框架里获取ip的方法一模一样,附该方法的写法: /** * 获取请求ip * * @r

PHP中获取IP的方法

PHP获取客户端 真实IP地址多种方法   <?php //经过复杂的判断与算是的获取IP地址函数 function getIP() { if (getenv(HTTP_CLIENT_IP)) { $ip = getenv(HTTP_CLIENT_IP); } elseif (getenv(HTTP_X_FORWARDED_FOR)) { $ip = getenv(HTTP_X_FORWARDED_FOR); } elseif (getenv(HTTP_X_FORWARDED)) { $ip =

系统切换成自动获取IP的方法

系统切换成自动获取IP 以下是代码片段: @echo off netsh interface ip set address name="local" source=dhcp netsh interface ip set dns name="local" source=dhcp "local" 是你的本地网卡名称,也可能是 "本地连接",需要自己替换下.如果是2个固定IP间的来回切换,把第2个脚本自己改改吧 :) dns设置中,

电脑如何自动获取ip地址上网?电脑自动获取ip地址方法

Windows XP 系统ip地址设置 第一步:右键点击桌面上的"网上邻居",选择"属性"   第二步:右键点击"本地连接",选择"属性" 注意:如果想配置无线网络ip,右键点击"无线网络连接"选择"属性" 第三步:双击"Internet协议(TCP/IP)" 第四步:选择"自动获得IP地址","自动获取DNS服务器地址",确定

ASP.NET获取IP与MAC地址的方法

获取服务器的IP地址方法以DNS法较为简单实用,如下: private void ButtonIP_Click(object sender, System.EventArgs e) { Syste  m.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; if ( addressList.Length>1) { TextLIP.Text = addressList[0].ToString(

技巧:ASP.NET技术获取IP与MAC地址的方法

asp.net|技巧 获取服务器的IP地址方法以DNS法较为简单实用,如下: private void ButtonIP_Click(object sender, System.EventArgs e) { System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; if ( addressList.Length>1) { TextLIP.Text = addressList[0].

ASP.NET技术获取IP与MAC地址的方法

获取服务器的IP地址方法以DNS法较为简单实用,如下: private void ButtonIP_Click(object sender, System.EventArgs e) { System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; if ( addressList.Length>1) { TextLIP.Text = addressList[0].ToString();

php通过Chianz.com获取IP地址与地区的方法

 这篇文章主要介绍了php通过Chianz.com获取IP地址与地区的方法,是解析IP地址与地区非常实用的技巧,需要的朋友可以参考下     本文实例讲述了php通过Chianz.com获取IP地址与地区的方法.分享给大家供大家参考.具体分析如下: 一个IP获取的结果不是很完善,究其原因是因为ip138的IP解析应对国外的地址时不是很详细,所以又重新写了个用Chianz.com的代码,实例代码如下: 代码如下: <!DOCTYPE html> <html lang="en&qu

Python获取IP地址的三种方法

  在python中获取IP地址的方法很简单,我们只和gethostbyname和gethostbyname_ex两个函数可以实现了,当然也可以利用公网api来实现. 使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip 使用gethostbyname和gethostbyname_ex两个函数可以实现  代码如下   import socket localIP = socket.gethostbyname(socket.gethostname())#这