If it was a GET method, I would say the ampersand could be treated as the ampersand which separates two URL parameters. And hence you would lose the ampersand and everything after it, just as you describe. The cure for this would be to URL-encode the XML document, or something like that.
But it's a POST method. And it's Ruby, which ought to be taking care of that sort of thing anyway.
I would still try passing something which isn't XML but which does contain an ampersand, just to see whether you are dealing with an XML parsing issue or an HTTP parameter issue like the one I just outlined.
Joined: May 17, 2001
Oh, just thought of something I didn't mention which may make a difference. The ruby app is sending the payload to a Java Spring application.
I am debuging the Java application and that is where I see the malformed XML arriving. I am taking the xml off the request in a controller method on the Java side.