Hi,
Sorry, it's been awhile since I posted about this, but I wanted to mention something that I just found, in case it helps anyone in the future.
So I was testing a new client that I want to send requests to my Node.JS+Express.JS app since yesterday, and was running into the same empty body problem I head earlier.
In this new app, it was sending header;
Content-Type: text/xml;charset=UTF-8;
but even a simple express app was not seeing th body.
Then, comparing to sending the same request body via SOAPUI, I noticed from the SOAPUI logs that the header SOAPUI was sending was:
Content-Type: text/xml;charset=UTF-8
Notice the difference? Yes, SOAPUI wasn't sending the last semicolon after the "UTF-8" part!
So, I modified the new client to also send:
Content-Type: text/xml;charset=UTF-8
and then my Express app could see the body!
In other words, having the semicolon (";") at the end of the "charset=UTF-8" part of the Content-Type HTTP header caused the body parser not to be able to see the request body.
Jim