in reply to XMLRPC - doing it the hard way

Frontier::Client has a debug option where it prints out the xml it wants to send. Did you try to enable debug and compare it to what you are sending?

You might also use a packet sniffer like tcpdump to compare the information sent with the Frontier::Client and your client programs.

UPDATE: By the way, you don't have an empty line between header and body (your /n is just the missing newline of the content-length line). I'm not sure if that is only necessary with emails, just thought I'd mention it without any shred of knowledge either way