Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread J Java
Mark,

 Here after doing all the tests  I found the exact error. It was not  what
i am thinking all through. Sorry for the confusion I created and I
apologize for overenthusiasm in opening the bug.

The problem was with order of proxypass directives i was confiuring Here I
gice both configurations for anybody who might face similar probs:

The one which doesn't work :

JkMount /jkweb/* localtomcat
JkUnMount /jkweb/project/content/*  localtomcat
JkUnMount /jkweb/angle/content/*  localtomcat
JkUnMount /jkweb/index.jsp localtomcat
JkUnMount /jkweb/ localtomcat

ProxyRequests Off
ProxyPreserveHost On

ProxyPass /jkweb  !
ProxyPass /jkweb/  !
ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPass /  http://localhost:8080/jkweb/
ProxyPassReverse /  http://localhost:8080/jkweb

And Here us the one which works irrespective of which hosts we use :

JkMount /jkweb/* localtomcat
JkUnMount /jkweb/project/content/*  localtomcat
JkUnMount /jkweb/angle/content/*  localtomcat
JkUnMount /jkweb/index.jsp localtomcat
JkUnMount /jkweb/ localtomcat

ProxyRequests Off
ProxyPreserveHost On


ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/

ProxyPass /jkweb  !
ProxyPass /jkweb/  !

ProxyPass /  http://localhost:8080/jkweb/

ProxyPassReverse /  http://localhost:8080/jkweb

The difference is the place where I place
ProxyPass /jkweb !

ProxyPass /jkweb/  !

Directives.

Thanks,

Shailesh.



On Sat, Mar 1, 2014 at 6:33 PM, J Java  wrote:

> When  I revert to earlier config with localhost it starts working.
>
>
> On Sat, Mar 1, 2014 at 6:18 PM, J Java  wrote:
>
>> JkMount /jkweb/* localtomcat
>> JkUnMount /jkweb/project/content/*  localtomcat
>> JkUnMount /jkweb/angle/content/*  localtomcat
>> JkUnMount /jkweb/index.jsp localtomcat
>> JkUnMount /jkweb/ localtomcat
>>
>> ProxyRequests Off
>> ProxyPreserveHost On
>>
>> ProxyPass /jkweb  !
>> ProxyPass /jkweb/  !
>> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>> ProxyPass /  http://localhost:8080/jkweb/
>> ProxyPassReverse /  http://localhost:8080/jkweb
>>
>> Updated configuration..above is the complete configuration for my
>> virtualhost.
>>
>>
>>
>> On Sat, Mar 1, 2014 at 6:14 PM, J Java  wrote:
>>
>>> Mark,
>>>
>>>  following is how i have configured reverse proxy :
>>>
>>> ProxyRequests Off
>>> ProxyPreserveHost On
>>>
>>> ProxyPass /jkweb  !
>>> ProxyPass /jkweb/  !
>>> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>>> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>>> ProxyPass /  http://localhost:8080/jkweb/
>>> ProxyPassReverse /  http://localhost:8080/jkweb
>>>
>>> I am using Apache 2.4 which comes with  mod_proxy_wstunnel module to 
>>> support http upgrade to Websocket.
>>>
>>> Also my code works fine if I configure localhost everywhere, its just when 
>>> I change it to use dummy host using window's hosts file and virtual host it 
>>> stops working. And it upgrades to WebSocket but cant send or receive 
>>> messages after that. Please find in detail configuration and code in my 
>>> first post. Any pointers how to go about it will really help. Or let me 
>>> know the right place to open bug for this.
>>>
>>> Thanks,
>>>
>>> Shailesh.
>>>
>>>
>>>
>>> On Sat, Mar 1, 2014 at 4:10 PM, Mark Thomas  wrote:
>>>
 On 1 March 2014 10:02:48 GMT, J Java  wrote:
 >I tried debuggin tomcat sources. And compared the difference I am
 >getting
 >between normal tomcat websocket examples and my code. Only difference i
 >could found was tomcat example uses Abstract Protocol class to fire the
 >register session event and mine uses AjpProcessor(because I am using
 >tomcat
 >behind apache). but in AJpProcessor class it gets stuck and never calls
 >registersession for Websocket.
 >
 >I know above information might be utterlyt useless but this waht i have
 >understood ..guys I need this to be resolved ASAP. it was working fine
 >when
 >i was using localhost everywhere. since I changed it to dummy host it
 >has
 >stopped working

 How is your reverse proxy configured? mod_jk doesn't support HTTP
 upgrade and the last time I looked mod_proxy support for WebSocket wasn't
 fit for purpose.

 Mark


 >On Sat, Mar 1, 2014 at 2:31 PM, J Java  wrote:
 >
 >>
 >> 127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
 >> /jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
 >> 127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
 >> /jkweb/angle/validateDuplicateAngleName.action?angleName=angle7
 >HTTP/1.1"
 >> 200 -
 >> phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
 >>

 >/jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c3

Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread J Java
When  I revert to earlier config with localhost it starts working.


On Sat, Mar 1, 2014 at 6:18 PM, J Java  wrote:

> JkMount /jkweb/* localtomcat
> JkUnMount /jkweb/project/content/*  localtomcat
> JkUnMount /jkweb/angle/content/*  localtomcat
> JkUnMount /jkweb/index.jsp localtomcat
> JkUnMount /jkweb/ localtomcat
>
> ProxyRequests Off
> ProxyPreserveHost On
>
> ProxyPass /jkweb  !
> ProxyPass /jkweb/  !
> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> ProxyPass /  http://localhost:8080/jkweb/
> ProxyPassReverse /  http://localhost:8080/jkweb
>
> Updated configuration..above is the complete configuration for my
> virtualhost.
>
>
>
> On Sat, Mar 1, 2014 at 6:14 PM, J Java  wrote:
>
>> Mark,
>>
>>  following is how i have configured reverse proxy :
>>
>> ProxyRequests Off
>> ProxyPreserveHost On
>>
>> ProxyPass /jkweb  !
>> ProxyPass /jkweb/  !
>> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>> ProxyPass /  http://localhost:8080/jkweb/
>> ProxyPassReverse /  http://localhost:8080/jkweb
>>
>> I am using Apache 2.4 which comes with  mod_proxy_wstunnel module to support 
>> http upgrade to Websocket.
>>
>> Also my code works fine if I configure localhost everywhere, its just when I 
>> change it to use dummy host using window's hosts file and virtual host it 
>> stops working. And it upgrades to WebSocket but cant send or receive 
>> messages after that. Please find in detail configuration and code in my 
>> first post. Any pointers how to go about it will really help. Or let me know 
>> the right place to open bug for this.
>>
>> Thanks,
>>
>> Shailesh.
>>
>>
>>
>> On Sat, Mar 1, 2014 at 4:10 PM, Mark Thomas  wrote:
>>
>>> On 1 March 2014 10:02:48 GMT, J Java  wrote:
>>> >I tried debuggin tomcat sources. And compared the difference I am
>>> >getting
>>> >between normal tomcat websocket examples and my code. Only difference i
>>> >could found was tomcat example uses Abstract Protocol class to fire the
>>> >register session event and mine uses AjpProcessor(because I am using
>>> >tomcat
>>> >behind apache). but in AJpProcessor class it gets stuck and never calls
>>> >registersession for Websocket.
>>> >
>>> >I know above information might be utterlyt useless but this waht i have
>>> >understood ..guys I need this to be resolved ASAP. it was working fine
>>> >when
>>> >i was using localhost everywhere. since I changed it to dummy host it
>>> >has
>>> >stopped working
>>>
>>> How is your reverse proxy configured? mod_jk doesn't support HTTP
>>> upgrade and the last time I looked mod_proxy support for WebSocket wasn't
>>> fit for purpose.
>>>
>>> Mark
>>>
>>>
>>> >On Sat, Mar 1, 2014 at 2:31 PM, J Java  wrote:
>>> >
>>> >>
>>> >> 127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
>>> >> /jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
>>> >> 127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
>>> >> /jkweb/angle/validateDuplicateAngleName.action?angleName=angle7
>>> >HTTP/1.1"
>>> >> 200 -
>>> >> phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
>>> >>
>>>
>>> >/jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c33-bc92-e0a46cb2d2b5
>>> >> HTTP/1.1" 101 -
>>> >>
>>> >> Above is the relevant log section of apache : could it be the cause
>>> >that
>>> >> websocket request is coming from phasingapp.com and others from
>>> >127.0.01
>>> >>
>>> >>
>>> >> On Sat, Mar 1, 2014 at 1:53 PM, J Java 
>>> >wrote:
>>> >>
>>> >>>  I had recently implemented websocket on tomcat 7.0.50. my tomcat
>>> >runs
>>> >>> behind apache 2.4. I use Strtus 2 and Spring Security. It has
>>> >stopped
>>> >>> working.
>>> >>>
>>> >>> Problem : Websocket connection is opened successfully. Javascript
>>> >event
>>> >>> handler get fires successfully. Apache logs show that request was
>>> >accepted
>>> >>> as an protocol upgrade request with 101 code Tomcat access logs also
>>> >show
>>> >>> the same code 101 for protocol upgrade
>>> >>>
>>> >>> However on server side onOpen message is not fired. I tried sending
>>> >the
>>> >>> message as soon as connection is opened in javascript's event
>>> >handler..
>>> >>> There is no error in javascript but Server side endPoint's onmessage
>>> >is
>>> >>> never called just like onOpen is never called.
>>> >>>
>>> >>> Here are the changes I made after which it has stopped working:
>>> >>>
>>> >>>  Windows Host file : I use dummy host name through Windows host
>>> >file:
>>> >>> 127.0.0.1phasingapp.com
>>> >>> 127.0.0.1pricer.com
>>> >>>
>>> >>> URL of wesocket :
>>> >>>
>>> >>> old  :  ws://localhost:86/websocket/filuploadtrackerendpoint
>>> >>> new : ws://phasingapp.com:86/websocket/filuploadtrackerendpoint
>>> >>>
>>> >>> Added virtual host config for apache :
>>> >>>
>>> >>>  
>>> >>> Require host phasingapp.com granted
>>> >>> 
>>> >>>
>>> >>> JkMount /jkweb/* localtomcat
>>> >>

Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread J Java
JkMount /jkweb/* localtomcat
JkUnMount /jkweb/project/content/*  localtomcat
JkUnMount /jkweb/angle/content/*  localtomcat
JkUnMount /jkweb/index.jsp localtomcat
JkUnMount /jkweb/ localtomcat

ProxyRequests Off
ProxyPreserveHost On

ProxyPass /jkweb  !
ProxyPass /jkweb/  !
ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPass /  http://localhost:8080/jkweb/
ProxyPassReverse /  http://localhost:8080/jkweb

Updated configuration..above is the complete configuration for my
virtualhost.



On Sat, Mar 1, 2014 at 6:14 PM, J Java  wrote:

> Mark,
>
>  following is how i have configured reverse proxy :
>
> ProxyRequests Off
> ProxyPreserveHost On
>
> ProxyPass /jkweb  !
> ProxyPass /jkweb/  !
> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> ProxyPass /  http://localhost:8080/jkweb/
> ProxyPassReverse /  http://localhost:8080/jkweb
>
> I am using Apache 2.4 which comes with  mod_proxy_wstunnel module to support 
> http upgrade to Websocket.
>
> Also my code works fine if I configure localhost everywhere, its just when I 
> change it to use dummy host using window's hosts file and virtual host it 
> stops working. And it upgrades to WebSocket but cant send or receive messages 
> after that. Please find in detail configuration and code in my first post. 
> Any pointers how to go about it will really help. Or let me know the right 
> place to open bug for this.
>
> Thanks,
>
> Shailesh.
>
>
>
> On Sat, Mar 1, 2014 at 4:10 PM, Mark Thomas  wrote:
>
>> On 1 March 2014 10:02:48 GMT, J Java  wrote:
>> >I tried debuggin tomcat sources. And compared the difference I am
>> >getting
>> >between normal tomcat websocket examples and my code. Only difference i
>> >could found was tomcat example uses Abstract Protocol class to fire the
>> >register session event and mine uses AjpProcessor(because I am using
>> >tomcat
>> >behind apache). but in AJpProcessor class it gets stuck and never calls
>> >registersession for Websocket.
>> >
>> >I know above information might be utterlyt useless but this waht i have
>> >understood ..guys I need this to be resolved ASAP. it was working fine
>> >when
>> >i was using localhost everywhere. since I changed it to dummy host it
>> >has
>> >stopped working
>>
>> How is your reverse proxy configured? mod_jk doesn't support HTTP upgrade
>> and the last time I looked mod_proxy support for WebSocket wasn't fit for
>> purpose.
>>
>> Mark
>>
>>
>> >On Sat, Mar 1, 2014 at 2:31 PM, J Java  wrote:
>> >
>> >>
>> >> 127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
>> >> /jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
>> >> 127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
>> >> /jkweb/angle/validateDuplicateAngleName.action?angleName=angle7
>> >HTTP/1.1"
>> >> 200 -
>> >> phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
>> >>
>>
>> >/jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c33-bc92-e0a46cb2d2b5
>> >> HTTP/1.1" 101 -
>> >>
>> >> Above is the relevant log section of apache : could it be the cause
>> >that
>> >> websocket request is coming from phasingapp.com and others from
>> >127.0.01
>> >>
>> >>
>> >> On Sat, Mar 1, 2014 at 1:53 PM, J Java 
>> >wrote:
>> >>
>> >>>  I had recently implemented websocket on tomcat 7.0.50. my tomcat
>> >runs
>> >>> behind apache 2.4. I use Strtus 2 and Spring Security. It has
>> >stopped
>> >>> working.
>> >>>
>> >>> Problem : Websocket connection is opened successfully. Javascript
>> >event
>> >>> handler get fires successfully. Apache logs show that request was
>> >accepted
>> >>> as an protocol upgrade request with 101 code Tomcat access logs also
>> >show
>> >>> the same code 101 for protocol upgrade
>> >>>
>> >>> However on server side onOpen message is not fired. I tried sending
>> >the
>> >>> message as soon as connection is opened in javascript's event
>> >handler..
>> >>> There is no error in javascript but Server side endPoint's onmessage
>> >is
>> >>> never called just like onOpen is never called.
>> >>>
>> >>> Here are the changes I made after which it has stopped working:
>> >>>
>> >>>  Windows Host file : I use dummy host name through Windows host
>> >file:
>> >>> 127.0.0.1phasingapp.com
>> >>> 127.0.0.1pricer.com
>> >>>
>> >>> URL of wesocket :
>> >>>
>> >>> old  :  ws://localhost:86/websocket/filuploadtrackerendpoint
>> >>> new : ws://phasingapp.com:86/websocket/filuploadtrackerendpoint
>> >>>
>> >>> Added virtual host config for apache :
>> >>>
>> >>>  
>> >>> Require host phasingapp.com granted
>> >>> 
>> >>>
>> >>> JkMount /jkweb/* localtomcat
>> >>> JkUnMount /jkweb/project/content/*  localtomcat
>> >>> JkUnMount /jkweb/angle/content/*  localtomcat
>> >>> JkUnMount /jkweb/index.jsp localtomcat
>> >>> JkUnMount /jkweb/ localtomcat
>> >>>
>> >>> ProxyRequests Off
>> >>> ProxyPreserveHost On
>> >>>
>> >>> ProxyPass /jkweb  

Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread J Java
Mark,

 following is how i have configured reverse proxy :

ProxyRequests Off
ProxyPreserveHost On

ProxyPass /jkweb  !
ProxyPass /jkweb/  !
ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
ProxyPass /  http://localhost:8080/jkweb/
ProxyPassReverse /  http://localhost:8080/jkweb

I am using Apache 2.4 which comes with  mod_proxy_wstunnel module to
support http upgrade to Websocket.

Also my code works fine if I configure localhost everywhere, its just
when I change it to use dummy host using window's hosts file and
virtual host it stops working. And it upgrades to WebSocket but cant
send or receive messages after that. Please find in detail
configuration and code in my first post. Any pointers how to go about
it will really help. Or let me know the right place to open bug for
this.

Thanks,

Shailesh.



On Sat, Mar 1, 2014 at 4:10 PM, Mark Thomas  wrote:

> On 1 March 2014 10:02:48 GMT, J Java  wrote:
> >I tried debuggin tomcat sources. And compared the difference I am
> >getting
> >between normal tomcat websocket examples and my code. Only difference i
> >could found was tomcat example uses Abstract Protocol class to fire the
> >register session event and mine uses AjpProcessor(because I am using
> >tomcat
> >behind apache). but in AJpProcessor class it gets stuck and never calls
> >registersession for Websocket.
> >
> >I know above information might be utterlyt useless but this waht i have
> >understood ..guys I need this to be resolved ASAP. it was working fine
> >when
> >i was using localhost everywhere. since I changed it to dummy host it
> >has
> >stopped working
>
> How is your reverse proxy configured? mod_jk doesn't support HTTP upgrade
> and the last time I looked mod_proxy support for WebSocket wasn't fit for
> purpose.
>
> Mark
>
>
> >On Sat, Mar 1, 2014 at 2:31 PM, J Java  wrote:
> >
> >>
> >> 127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
> >> /jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
> >> 127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
> >> /jkweb/angle/validateDuplicateAngleName.action?angleName=angle7
> >HTTP/1.1"
> >> 200 -
> >> phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
> >>
>
> >/jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c33-bc92-e0a46cb2d2b5
> >> HTTP/1.1" 101 -
> >>
> >> Above is the relevant log section of apache : could it be the cause
> >that
> >> websocket request is coming from phasingapp.com and others from
> >127.0.01
> >>
> >>
> >> On Sat, Mar 1, 2014 at 1:53 PM, J Java 
> >wrote:
> >>
> >>>  I had recently implemented websocket on tomcat 7.0.50. my tomcat
> >runs
> >>> behind apache 2.4. I use Strtus 2 and Spring Security. It has
> >stopped
> >>> working.
> >>>
> >>> Problem : Websocket connection is opened successfully. Javascript
> >event
> >>> handler get fires successfully. Apache logs show that request was
> >accepted
> >>> as an protocol upgrade request with 101 code Tomcat access logs also
> >show
> >>> the same code 101 for protocol upgrade
> >>>
> >>> However on server side onOpen message is not fired. I tried sending
> >the
> >>> message as soon as connection is opened in javascript's event
> >handler..
> >>> There is no error in javascript but Server side endPoint's onmessage
> >is
> >>> never called just like onOpen is never called.
> >>>
> >>> Here are the changes I made after which it has stopped working:
> >>>
> >>>  Windows Host file : I use dummy host name through Windows host
> >file:
> >>> 127.0.0.1phasingapp.com
> >>> 127.0.0.1pricer.com
> >>>
> >>> URL of wesocket :
> >>>
> >>> old  :  ws://localhost:86/websocket/filuploadtrackerendpoint
> >>> new : ws://phasingapp.com:86/websocket/filuploadtrackerendpoint
> >>>
> >>> Added virtual host config for apache :
> >>>
> >>>  
> >>> Require host phasingapp.com granted
> >>> 
> >>>
> >>> JkMount /jkweb/* localtomcat
> >>> JkUnMount /jkweb/project/content/*  localtomcat
> >>> JkUnMount /jkweb/angle/content/*  localtomcat
> >>> JkUnMount /jkweb/index.jsp localtomcat
> >>> JkUnMount /jkweb/ localtomcat
> >>>
> >>> ProxyRequests Off
> >>> ProxyPreserveHost On
> >>>
> >>> ProxyPass /jkweb  !
> >>> ProxyPass /jkweb/  !
> >>> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> >>> ProxyPassReverse /jkweb/websocket/
> >ws://localhost:8080/jkweb/websocket/
> >>> ProxyPass /  http://localhost:8080/jkweb/
> >>> ProxyPassReverse /  http://localhost:8080/jkweb/
> >>>
> >>> Struts 2 :
> >>>
> >>>  changed url pattern for Struts 2 filter from ".action to " /* ".
> >Also added exclusion   filters
> >>>  to strtus2  for webscoket urls :
> >>>
> >>>  >value=".*websocket/.*"/>
> >>>
> >>> Everything seems to be working fine as i am gettting no error
> >anywhere in
> >>> apache,tomcat,spring security and Struts2 logs.
> >>>
> >>> However on server side no handlers are called?
> >>>
> >>> Earlier I had faced similar problem but it was because I had put
> >>> websock

Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread Mark Thomas
On 1 March 2014 10:02:48 GMT, J Java  wrote:
>I tried debuggin tomcat sources. And compared the difference I am
>getting
>between normal tomcat websocket examples and my code. Only difference i
>could found was tomcat example uses Abstract Protocol class to fire the
>register session event and mine uses AjpProcessor(because I am using
>tomcat
>behind apache). but in AJpProcessor class it gets stuck and never calls
>registersession for Websocket.
>
>I know above information might be utterlyt useless but this waht i have
>understood ..guys I need this to be resolved ASAP. it was working fine
>when
>i was using localhost everywhere. since I changed it to dummy host it 
>has
>stopped working

How is your reverse proxy configured? mod_jk doesn't support HTTP upgrade and 
the last time I looked mod_proxy support for WebSocket wasn't fit for purpose.

Mark


>On Sat, Mar 1, 2014 at 2:31 PM, J Java  wrote:
>
>>
>> 127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
>> /jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
>> 127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
>> /jkweb/angle/validateDuplicateAngleName.action?angleName=angle7
>HTTP/1.1"
>> 200 -
>> phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
>>
>/jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c33-bc92-e0a46cb2d2b5
>> HTTP/1.1" 101 -
>>
>> Above is the relevant log section of apache : could it be the cause
>that
>> websocket request is coming from phasingapp.com and others from
>127.0.01
>>
>>
>> On Sat, Mar 1, 2014 at 1:53 PM, J Java 
>wrote:
>>
>>>  I had recently implemented websocket on tomcat 7.0.50. my tomcat
>runs
>>> behind apache 2.4. I use Strtus 2 and Spring Security. It has
>stopped
>>> working.
>>>
>>> Problem : Websocket connection is opened successfully. Javascript
>event
>>> handler get fires successfully. Apache logs show that request was
>accepted
>>> as an protocol upgrade request with 101 code Tomcat access logs also
>show
>>> the same code 101 for protocol upgrade
>>>
>>> However on server side onOpen message is not fired. I tried sending
>the
>>> message as soon as connection is opened in javascript's event
>handler..
>>> There is no error in javascript but Server side endPoint's onmessage
>is
>>> never called just like onOpen is never called.
>>>
>>> Here are the changes I made after which it has stopped working:
>>>
>>>  Windows Host file : I use dummy host name through Windows host
>file:
>>> 127.0.0.1phasingapp.com
>>> 127.0.0.1pricer.com
>>>
>>> URL of wesocket :
>>>
>>> old  :  ws://localhost:86/websocket/filuploadtrackerendpoint
>>> new : ws://phasingapp.com:86/websocket/filuploadtrackerendpoint
>>>
>>> Added virtual host config for apache :
>>>
>>>  
>>> Require host phasingapp.com granted
>>> 
>>>
>>> JkMount /jkweb/* localtomcat
>>> JkUnMount /jkweb/project/content/*  localtomcat
>>> JkUnMount /jkweb/angle/content/*  localtomcat
>>> JkUnMount /jkweb/index.jsp localtomcat
>>> JkUnMount /jkweb/ localtomcat
>>>
>>> ProxyRequests Off
>>> ProxyPreserveHost On
>>>
>>> ProxyPass /jkweb  !
>>> ProxyPass /jkweb/  !
>>> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>>> ProxyPassReverse /jkweb/websocket/ 
>ws://localhost:8080/jkweb/websocket/
>>> ProxyPass /  http://localhost:8080/jkweb/
>>> ProxyPassReverse /  http://localhost:8080/jkweb/
>>>
>>> Struts 2 :
>>>
>>>  changed url pattern for Struts 2 filter from ".action to " /* ".
>Also added exclusion   filters
>>>  to strtus2  for webscoket urls :
>>>
>>> value=".*websocket/.*"/>
>>>
>>> Everything seems to be working fine as i am gettting no error
>anywhere in
>>> apache,tomcat,spring security and Struts2 logs.
>>>
>>> However on server side no handlers are called?
>>>
>>> Earlier I had faced similar problem but it was because I had put
>>> websocket-api jar in my WEB-INF/lib which was preventing websocket
>>> connection from getting opened. No connection is opened but no
>handler is
>>> called after that and after some time connection is closed obviously
>>> because of timout I suppose.
>>>
>>> Here is my ServerEndPoint class :
>>>
>>>   package com.jkweb.websocket;
>>>
>>> import java.io.IOException;
>>> import java.util.HashMap;
>>> import java.util.List;
>>> import java.util.Map;
>>>
>>> import javax.websocket.EndpointConfig;
>>> import javax.websocket.OnMessage;
>>> import javax.websocket.OnOpen;
>>> import javax.websocket.Session;
>>> import javax.websocket.server.PathParam;
>>> import javax.websocket.server.ServerEndpoint;
>>>
>>> import org.slf4j.Logger;
>>> import org.slf4j.LoggerFactory;
>>>
>>> @ServerEndpoint(value="/websocket/fileuploadtracker")
>>>public class FileUploadTrackerEndPoint{
>>>private static final Logger logger = LoggerFactory
>>> .getLogger(FileUploadTrackerEndPoint.class);
>>>private static HashMap socketConnectionMap =
>newHashMap();
>>>
>>> 

Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread J Java
I tried debuggin tomcat sources. And compared the difference I am getting
between normal tomcat websocket examples and my code. Only difference i
could found was tomcat example uses Abstract Protocol class to fire the
register session event and mine uses AjpProcessor(because I am using tomcat
behind apache). but in AJpProcessor class it gets stuck and never calls
registersession for Websocket.

I know above information might be utterlyt useless but this waht i have
understood ..guys I need this to be resolved ASAP. it was working fine when
i was using localhost everywhere. since I changed it to dummy host it  has
stopped working


On Sat, Mar 1, 2014 at 2:31 PM, J Java  wrote:

>
> 127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
> /jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
> 127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
> /jkweb/angle/validateDuplicateAngleName.action?angleName=angle7 HTTP/1.1"
> 200 -
> phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
> /jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c33-bc92-e0a46cb2d2b5
> HTTP/1.1" 101 -
>
> Above is the relevant log section of apache : could it be the cause that
> websocket request is coming from phasingapp.com and others from 127.0.01
>
>
> On Sat, Mar 1, 2014 at 1:53 PM, J Java  wrote:
>
>>  I had recently implemented websocket on tomcat 7.0.50. my tomcat runs
>> behind apache 2.4. I use Strtus 2 and Spring Security. It has stopped
>> working.
>>
>> Problem : Websocket connection is opened successfully. Javascript event
>> handler get fires successfully. Apache logs show that request was accepted
>> as an protocol upgrade request with 101 code Tomcat access logs also show
>> the same code 101 for protocol upgrade
>>
>> However on server side onOpen message is not fired. I tried sending the
>> message as soon as connection is opened in javascript's event handler..
>> There is no error in javascript but Server side endPoint's onmessage is
>> never called just like onOpen is never called.
>>
>> Here are the changes I made after which it has stopped working:
>>
>>  Windows Host file : I use dummy host name through Windows host file:
>> 127.0.0.1phasingapp.com
>> 127.0.0.1pricer.com
>>
>> URL of wesocket :
>>
>> old  :  ws://localhost:86/websocket/filuploadtrackerendpoint
>> new : ws://phasingapp.com:86/websocket/filuploadtrackerendpoint
>>
>> Added virtual host config for apache :
>>
>>  
>> Require host phasingapp.com granted
>> 
>>
>> JkMount /jkweb/* localtomcat
>> JkUnMount /jkweb/project/content/*  localtomcat
>> JkUnMount /jkweb/angle/content/*  localtomcat
>> JkUnMount /jkweb/index.jsp localtomcat
>> JkUnMount /jkweb/ localtomcat
>>
>> ProxyRequests Off
>> ProxyPreserveHost On
>>
>> ProxyPass /jkweb  !
>> ProxyPass /jkweb/  !
>> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
>> ProxyPass /  http://localhost:8080/jkweb/
>> ProxyPassReverse /  http://localhost:8080/jkweb/
>>
>> Struts 2 :
>>
>>  changed url pattern for Struts 2 filter from ".action to " /* ". Also added 
>> exclusion   filters
>>  to strtus2  for webscoket urls :
>>
>> 
>>
>> Everything seems to be working fine as i am gettting no error anywhere in
>> apache,tomcat,spring security and Struts2 logs.
>>
>> However on server side no handlers are called?
>>
>> Earlier I had faced similar problem but it was because I had put
>> websocket-api jar in my WEB-INF/lib which was preventing websocket
>> connection from getting opened. No connection is opened but no handler is
>> called after that and after some time connection is closed obviously
>> because of timout I suppose.
>>
>> Here is my ServerEndPoint class :
>>
>>   package com.jkweb.websocket;
>>
>> import java.io.IOException;
>> import java.util.HashMap;
>> import java.util.List;
>> import java.util.Map;
>>
>> import javax.websocket.EndpointConfig;
>> import javax.websocket.OnMessage;
>> import javax.websocket.OnOpen;
>> import javax.websocket.Session;
>> import javax.websocket.server.PathParam;
>> import javax.websocket.server.ServerEndpoint;
>>
>> import org.slf4j.Logger;
>> import org.slf4j.LoggerFactory;
>>
>> @ServerEndpoint(value="/websocket/fileuploadtracker")
>>public class FileUploadTrackerEndPoint{
>>private static final Logger logger = LoggerFactory
>> .getLogger(FileUploadTrackerEndPoint.class);
>>private static HashMap socketConnectionMap = new
>> HashMap();
>>
>> @OnOpen
>> public void open(Session session) {
>> Map> paramMap = session.getRequestParameterMap();
>> List uniqueTockenValues = paramMap.get("uniqueTocken");
>> if(uniqueTockenValues != null && uniqueTockenValues.size() > 0){
>> socketConnectionMap.put(uniqueTockenValues.get(0),session);
>> }
>> }
>> @OnMessage

Re: Websocket stopped working on tomcat 7.0.50

2014-03-01 Thread J Java
127.0.0.1 - - [01/Mar/2014:14:20:12 +0530] "GET
/jkweb/js/angle/addAngle.js?_=1393663610411 HTTP/1.1" 200 4278
127.0.0.1 - - [01/Mar/2014:14:20:41 +0530] "GET
/jkweb/angle/validateDuplicateAngleName.action?angleName=angle7 HTTP/1.1"
200 -
phasingapp.com - - [01/Mar/2014:14:21:15 +0530] "GET
/jkweb/websocket/fileuploadtracker?uniqueTocken=9c9e740c-7171-4c33-bc92-e0a46cb2d2b5
HTTP/1.1" 101 -

Above is the relevant log section of apache : could it be the cause that
websocket request is coming from phasingapp.com and others from 127.0.01


On Sat, Mar 1, 2014 at 1:53 PM, J Java  wrote:

> I had recently implemented websocket on tomcat 7.0.50. my tomcat runs
> behind apache 2.4. I use Strtus 2 and Spring Security. It has stopped
> working.
>
> Problem : Websocket connection is opened successfully. Javascript event
> handler get fires successfully. Apache logs show that request was accepted
> as an protocol upgrade request with 101 code Tomcat access logs also show
> the same code 101 for protocol upgrade
>
> However on server side onOpen message is not fired. I tried sending the
> message as soon as connection is opened in javascript's event handler..
> There is no error in javascript but Server side endPoint's onmessage is
> never called just like onOpen is never called.
>
> Here are the changes I made after which it has stopped working:
>
>  Windows Host file : I use dummy host name through Windows host file:
> 127.0.0.1phasingapp.com
> 127.0.0.1pricer.com
>
> URL of wesocket :
>
> old  :  ws://localhost:86/websocket/filuploadtrackerendpoint
> new : ws://phasingapp.com:86/websocket/filuploadtrackerendpoint
>
> Added virtual host config for apache :
>
>  
> Require host phasingapp.com granted
> 
>
> JkMount /jkweb/* localtomcat
> JkUnMount /jkweb/project/content/*  localtomcat
> JkUnMount /jkweb/angle/content/*  localtomcat
> JkUnMount /jkweb/index.jsp localtomcat
> JkUnMount /jkweb/ localtomcat
>
> ProxyRequests Off
> ProxyPreserveHost On
>
> ProxyPass /jkweb  !
> ProxyPass /jkweb/  !
> ProxyPass /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> ProxyPassReverse /jkweb/websocket/  ws://localhost:8080/jkweb/websocket/
> ProxyPass /  http://localhost:8080/jkweb/
> ProxyPassReverse /  http://localhost:8080/jkweb/
>
> Struts 2 :
>
>  changed url pattern for Struts 2 filter from ".action to " /* ". Also added 
> exclusion   filters
>  to strtus2  for webscoket urls :
>
> 
>
> Everything seems to be working fine as i am gettting no error anywhere in
> apache,tomcat,spring security and Struts2 logs.
>
> However on server side no handlers are called?
>
> Earlier I had faced similar problem but it was because I had put
> websocket-api jar in my WEB-INF/lib which was preventing websocket
> connection from getting opened. No connection is opened but no handler is
> called after that and after some time connection is closed obviously
> because of timout I suppose.
>
> Here is my ServerEndPoint class :
>
>   package com.jkweb.websocket;
>
> import java.io.IOException;
> import java.util.HashMap;
> import java.util.List;
> import java.util.Map;
>
> import javax.websocket.EndpointConfig;
> import javax.websocket.OnMessage;
> import javax.websocket.OnOpen;
> import javax.websocket.Session;
> import javax.websocket.server.PathParam;
> import javax.websocket.server.ServerEndpoint;
>
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
>
> @ServerEndpoint(value="/websocket/fileuploadtracker")
>public class FileUploadTrackerEndPoint{
>private static final Logger logger = LoggerFactory
> .getLogger(FileUploadTrackerEndPoint.class);
>private static HashMap socketConnectionMap = new
> HashMap();
>
> @OnOpen
> public void open(Session session) {
> Map> paramMap = session.getRequestParameterMap();
> List uniqueTockenValues = paramMap.get("uniqueTocken");
> if(uniqueTockenValues != null && uniqueTockenValues.size() > 0){
> socketConnectionMap.put(uniqueTockenValues.get(0),session);
> }
> }
> @OnMessage
> public void onMessage(Session session, String msg) {
> try {
> session.getBasicRemote().sendText(msg);
> } catch (IOException e) {
> logger.error(e.getMessage());
> }
> }
>
> public static void sendMessage(String uniqueTocken,String msg){
> try {
> Session wsSession = socketConnectionMap.get(uniqueTocken);
> wsSession.getBasicRemote().sendText(msg);
> } catch (IOException e) {
> logger.error(e.getMessage());
> }
> }
> }
>
> and my javascript code :
>
> createFileUploadWebSocket : function(){
> var that = this;
> var uniqueTocken = $("#uniqueTocken").val(),
> wsurl =  
> "ws://phasingapp.com:86/jkweb/websocket/fileuploadtracker?uniqueTocken="+uniq