Grzegorz Kossakowski wrote:
[EMAIL PROTECTED] pisze:
URL: http://svn.apache.org/viewvc?view=rev&rev=562199
Log:
Fix regression introduced in r530406, r532869.
Update changes document: RC1 is long released.
At this point I'm not sure how, but your commit breakes servletService
components (generator, transformer and serializer) usage.
The problem is - was - two fold. First, BlockCallHttpServletResponse did not had
a default status code. So when block call is complete and chosen servlet did not
set any status code - which it can do - BlockCallHttpServletResponse was
returning 0 instead of 200. Revision r562802 fixes this.
Second problem is in ServletSource - it was tripping over 0 status code returned
by BlockCallHttpServletResponse. It assumes that if status is not 200, it should
be 304 - how naive :)
if (servletConnection.getResponseCode() != HttpServletResponse.SC_OK) {
//most probably, servlet returned 304 (not modified) and we need to perform
second request to get data
Oh, and there is a third problem - I added a FIXME in revision r562800 - it
looses original request body once it decides it was a redirect. Actually I don't
think we can allow it to perform POST second time at all. Just imagine it was
somebody's credit card to be charged $999 - it won't be good at all [1] :)
Vadim
[1] Yes in such cases operation should be idempotent - in perfect world, that
is...