You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Ivan <il...@ksf.kiev.ua> on 2011/11/14 14:37:45 UTC

Tomcat 7, JAX-WS 2.2.5

Dear All,

We are running JAX-WS web-services using JAX-WS RI under tomcat. First we
upgraded from Tomcat 5.5 to Tomcat 7 and everything was fine. Eventually, we
decided to upgrade to the latest JAX-WS RI and went for 2.2.5 version. 

We faced a problem. Upon requests we started seeing exceptions from JAX-WS
indicating that the body of the request was broken. From the point of view of
TCPMON everything was fine. We enabled request tracing and saw that the JAX-WS
RI was gettting empty requests' input streams which were causing mentioned
exceptions (org.jvnet.mimepull.MIMEParsingException: Missing start boundary;
com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog). 

Also, we tried tomcat 5.5 and JAX-WS RI 2.2.5 and they worked together fine.

After investigation we found out that all versions of JAX-WS RI since 2.2.2 were
causing the same problem. Presumably, the cause of the issue is servlet 3.0
async request processing which has been added in JAX-WS RI 2.2.2. Partly, it
explains why tomcat 5.5 works fine with JAX-WS RI 2.2.5 as the RI falls back to
non-async request processing.

We changed connector's protocol to 'org.apache.coyote.http11.Http11NioProtocol'
and everything started working.

As I understand, both BIO and NIO connectors should be working well with servet
3.0 async. Could you comment on this?

I am really looking forward to your reply.

Best regards,
Ivan


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Tomcat 7, JAX-WS 2.2.5

Posted by Ivan Larionov <il...@ksf.kiev.ua>.
Hi Konstantin,

Thank you for your reply.

Please see inline below.

On 17.11.2011 11:57, Konstantin Kolinko wrote:
> 2011/11/14 Ivan<il...@ksf.kiev.ua>:
>> Dear All,
>>
>> We are running JAX-WS web-services using JAX-WS RI under tomcat. First we
>> upgraded from Tomcat 5.5 to Tomcat 7 and everything was fine. Eventually, we
>> decided to upgrade to the latest JAX-WS RI and went for 2.2.5 version.
>>
>> We faced a problem. Upon requests we started seeing exceptions from JAX-WS
>> indicating that the body of the request was broken. From the point of view of
>> TCPMON everything was fine. We enabled request tracing and saw that the JAX-WS
>> RI was gettting empty requests' input streams which were causing mentioned
>> exceptions (org.jvnet.mimepull.MIMEParsingException: Missing start boundary;
>> com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog).
>>
>> Also, we tried tomcat 5.5 and JAX-WS RI 2.2.5 and they worked together fine.
>>
>> After investigation we found out that all versions of JAX-WS RI since 2.2.2 were
>> causing the same problem. Presumably, the cause of the issue is servlet 3.0
>> async request processing which has been added in JAX-WS RI 2.2.2. Partly, it
>> explains why tomcat 5.5 works fine with JAX-WS RI 2.2.5 as the RI falls back to
>> non-async request processing.
>>
>> We changed connector's protocol to 'org.apache.coyote.http11.Http11NioProtocol'
>> and everything started working.
>>
>> As I understand, both BIO and NIO connectors should be working well with servet
>> 3.0 async. Could you comment on this?
>>
>
> 1. What exact version of Tomcat 7.0.x ?
Tomcat 7.0.14
>
> 2. Yes, both should be working, though implementations are
> substantially different.
>
> I would expect Nio to be better with async handling iт terms of performance.
>
> 3. Bugs might be there, but without a specific test case there is
> nowhere to start.
Currently, I cannot provide a test case. The problem manifests itself 
somewhere in the JAX-WS RI execution path, not in our code. I believe 
our management will settle for just disabling async.
>
> 4. Consider running with
> org.apache.catalina.connector.RECYCLE_FACADES=true
> http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html
>
> That option will make your configuration more secure and can reveal
> severe bugs with request/response management in web applications (and
> frameworks).
Thanks, I'll try it.
>
>
> Best regards,
> Konstantin Kolinko



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Tomcat 7, JAX-WS 2.2.5

Posted by Konstantin Kolinko <kn...@gmail.com>.
2011/11/14 Ivan <il...@ksf.kiev.ua>:
> Dear All,
>
> We are running JAX-WS web-services using JAX-WS RI under tomcat. First we
> upgraded from Tomcat 5.5 to Tomcat 7 and everything was fine. Eventually, we
> decided to upgrade to the latest JAX-WS RI and went for 2.2.5 version.
>
> We faced a problem. Upon requests we started seeing exceptions from JAX-WS
> indicating that the body of the request was broken. From the point of view of
> TCPMON everything was fine. We enabled request tracing and saw that the JAX-WS
> RI was gettting empty requests' input streams which were causing mentioned
> exceptions (org.jvnet.mimepull.MIMEParsingException: Missing start boundary;
> com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog).
>
> Also, we tried tomcat 5.5 and JAX-WS RI 2.2.5 and they worked together fine.
>
> After investigation we found out that all versions of JAX-WS RI since 2.2.2 were
> causing the same problem. Presumably, the cause of the issue is servlet 3.0
> async request processing which has been added in JAX-WS RI 2.2.2. Partly, it
> explains why tomcat 5.5 works fine with JAX-WS RI 2.2.5 as the RI falls back to
> non-async request processing.
>
> We changed connector's protocol to 'org.apache.coyote.http11.Http11NioProtocol'
> and everything started working.
>
> As I understand, both BIO and NIO connectors should be working well with servet
> 3.0 async. Could you comment on this?
>

1. What exact version of Tomcat 7.0.x ?

2. Yes, both should be working, though implementations are
substantially different.

I would expect Nio to be better with async handling iт terms of performance.

3. Bugs might be there, but without a specific test case there is
nowhere to start.

4. Consider running with
org.apache.catalina.connector.RECYCLE_FACADES=true
http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html

That option will make your configuration more secure and can reveal
severe bugs with request/response management in web applications (and
frameworks).


Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org