I send my XML to a server over http using the PHP CURL Library
e.g.
$ch = curl_init ("http://www.madeupurl.com/");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, '<?xml version="1.0" encoding="utf-8"?>
<Airbyte xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.madeupurl.co.uk/dtds/AirByte.xsd">
<messages id="1">
<message from="Chickenleg">
<body>
<text>This is a test message</text>
</body>
<to>+447890580386</to>
</message>
</messages>
</Airbyte>');
$result = curl_exec ($ch);
curl_close ($ch);
And the server reads through the xml fine.