As William asked, please share how you are setting content length in SOAP header.
I searched online for error and found that there can be one more reason for this failure.
Reason - The remote WSEndpoint did not like the HTTP Chunking feature activated. Try disabling this feature for WS client.
HttpPostRequestEncoder bodyRequestEncoder = new HttpPostRequestEncoder(factory, request, false);