Когда я захожу на этот сайт, я получаю:
<ms:errorMessage>
−
<error>
<errorId>2038</errorId>
<domain>SOA</domain>
<severity>Error</severity>
<category>System</category>
<message>Missing SOA operation name header</message>
</error>
</ms:errorMessage>
Таким образом, может показаться, что URL относится к веб-службе и, вероятно, требует какой-либо аутентификации или, по крайней мере, ввода данных в заголовок запроса. HTTP-ответ 500, согласно Википедии, является общей ошибкой, означающей, что сервер не может указать проблему, но знает, что она была. Вот лучшая часть этой статьи:
Коды состояния ответа, начинающиеся с
цифра «5» обозначает случаи, когда
сервер знает, что у него есть
обнаружил ошибку или является другим
неспособен выполнить запрос.
За исключением случаев ответа на ГОЛОВУ
запрос, сервер должен включать в себя
сущность, содержащая объяснение
ошибка ситуации и указать
будь то временный или постоянный
состояние.
Все это вместе, я должен сказать, что ваша проблема в том, что вы пытаетесь получить файл с удаленного сервера, используя метод, который предполагает, что у вас есть доступ к этому файлу на уровне каталога, и сервер отвечает «Гм, что?»
Если вы хотите получить фактическую ошибку XML, как если бы вы были в Firefox, используйте cURL:
$ebay_url = "http://svcs.ebay.com/services/search/FindingService/v1";
$ebay_page = curl_init();
curl_setopt($ebay_page, CURLOPT_RETURNTRANSFER, true); //output to string.
curl_setopt($ebay_page, CURLOPT_URL, $ebay_url); //set the url for the request.
$ebay_response = curl_exec($ebay_page);
print_r(simplexml_load_string($ebay_response));
Если вы хотите вернуть что-то более осмысленное, я бы посмотрел на методы PHP 101 * SoapClient и действительную документацию веб-сервиса ebay .