update...
Looks like issue could be in processing "Expect: 100-continue", which
is sent by the client (*.exe file).
When the servlet is reading out *all* the data the client sends -
everything works just fine. But, if servlet sends response back
without waiting for a client to send all the data - something fails.
It's difficult to understand for me either it's a client or server
issue. From my wireshark log I don't see any problems with the server,
it sends back 200 OK to the client, so I'm not sure why client
supposes that something is wrong.