mmmm.... didn't thought of that...
Thanks!

-----Original Message-----
From: Daniel Kulp [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 16, 2008 5:31 PM
To: [email protected]
Subject: Re: getting the ip address in the action method


Why go through the trouble of using an interceptor for this?

If you do
@Resource
WebServiceContext ctx;


The ctx itself has the HttpServletRequest in it as well.    
MessageContext.SERVLET_REQUEST key.


Dan



On Jul 16, 2008, at 8:35 AM, Yair Ben-Meir wrote:

> Hi
>
> I have a class implementing an interface annotated as a web service.  
> In the
> method of this class, I handle the request.
>
> Now, I want to use the IP of the client in the logic of the method.  
> So I
> wrote an interceptor that gets the IP:
>
> public class IpCxfInterceptor extends  
> AbstractPhaseInterceptor<Message>
>
> {
>
>      @Override
>
>      public void handleMessage(Message message) throws Fault
>
>      {
>
>            HttpServletRequest request =
>
>
>
>            (HttpServletRequest)
> message.get(AbstractHTTPDestination.HTTP_REQUEST);
>
>            String clientAddress = null;
>
>            if (null != request)
>
>            {
>
>                  clientAddress = request.getRemoteAddr();
>
>            }
>
>            System.out.println("IP="
>
>                + clientAddress);
>
>      }
>
>
>
>      public IpCxfInterceptor()
>
>      {
>
>            super(Phase.RECIEVE);
>
>      }
>
> }
>
>
>
> The problem is - how can I pass the IP to the method? The method's  
> arguments
> are according to the WSDL, I can't change them and add "ip" or  
> something
> like that.
>
>
>
> Thanks
>
> Yair
>
>
>
>
>

---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog





Reply via email to