Have you seen this thread on Sony SOAP commands? Might be helpful...
Yes, I have seen this and my code is based on a hybrid of that and yours. It works flawlessly from the command line using php cURL but I must be doing something incorrect when translating it to ruby. The logfile shows the command being sent and it looks correct but the response looks like this:
04-09-2014 18:43:44 HTTP/1.1 400 Bad Request
Date: Fri, 05 Sep 2014 00:43:44 GMT
04-09-2014 18:43:44 UPnP/1.0 Sony-BDP/2.0