Check out $url.
You have a space inbetween the '&' and 'apiKey', remove that, first off.
I'm getting this:
<ns2:HotelListResponse xmlns:ns2="http://v3.hotel.wsapi.ean.com/">
<EanWsError>
<itineraryId>-1</itineraryId>
<handling>RECOVERABLE</handling>
<category>DATA_VALIDATION</category>
<exceptionConditionId>-1</exceptionConditionId>
<presentationMessage>
Data in this request could not be validated: Specified arrival date is prior to today's date.
</presentationMessage>
<verboseMessage>
Data in this request could not be validated: Specified arrival date is prior to today's date.
</verboseMessage>
<ServerInfo instance="71" timestamp="1394560288" serverTime="12:51:28.803-0500"/>
</EanWsError>
<customerSessionId>0ABAAA47-1A0E-8A91-44B2-24409C793B7A</customerSessionId>
</ns2:HotelListResponse>
Edit: With this php code:
$context = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'http://api.ean.com/ean-services/rs/hotel/v3/list?cid=55505&minorRev=12&';
$url.= 'apiKey=2hkhej72gxyas3ky6hhjtsga&locale=en_US¤cyCode=USD';
$url.= '&customerIpAddress=10.184.2.9&customerSessionId=&xml=<HotelListRequest>';
$url.= '<arrivalDate>01/22/2012</arrivalDate><departureDate>01/24/2012</departureDate><RoomGroup>';
$url.= '<Room><numberOfAdults>1</numberOfAdults><numberOfChildren>1</numberOfChildren>';
$url.= '<childAges>4</childAges></Room></RoomGroup><city>Amsterdam</city><countryCode>NL</countryCode>';
$url.= '<supplierCacheTolerance>MED</supplierCacheTolerance></HotelListRequest>';
$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
var_dump($xml);
I am getting this result:
object(SimpleXMLElement)#1 (2) { ["EanWsError"]=> object(SimpleXMLElement)#2 (7) { ["itineraryId"]=> string(2) "-1" ["handling"]=> string(11) "RECOVERABLE" ["category"]=> string(15) "DATA_VALIDATION" ["exceptionConditionId"]=> string(2) "-1" ["presentationMessage"]=> string(93) "Data in this request could not be validated: Specified arrival date is prior to today's date." ["verboseMessage"]=> string(93) "Data in this request could not be validated: Specified arrival date is prior to today's date." ["ServerInfo"]=> object(SimpleXMLElement)#3 (1) { ["@attributes"]=> array(3) { ["instance"]=> string(3) "113" ["timestamp"]=> string(10) "1394564545" ["serverTime"]=> string(17) "14:02:25.060-0500" } } } ["customerSessionId"]=> string(36) "0ABAAA71-C7B2-7914-4B22-8599F39026A8" }
What makes my code different from yours is that I made absolutely sure that there were no spaces in the query url.