Использование NuSoap работает на локальной машине, но не на сервере

Я разработал код, который использует классы NuSoap для PHP для вызова веб-сервиса мыла. Я использую NuSoap, а не собственные классы PHP 5, в основном потому, что не хочу добавлять дополнительные предпосылки при установке этого кода на общий веб-сервер. Код отлично работает на моей машине:

require DOCROOT.'modules/nbn_species_dict_sync/lib/nusoap.php';
$client = new nusoap_client('http://www.nbnws.net/ws_3_5/GatewayWebService?wsdl', true);
$query1 = '<TaxonReportingCategoryListRequest xmlns="http://www.nbnws.net/TaxonReportingCategory" registrationKey="'.$key.'"></TaxonReportingCategoryListRequest>';
$response = $client->call('GetTaxonReportingCategoryList', $query1);

Когда я устанавливаю его на виртуальный сервер, а не запускаю локально, последняя строка просто зависает примерно на 10 секунд, после чего PHP вылетает. Никакого исключения не возникает и ошибки PHP нет (я пробовал использовать try..catch и set_error_handler, просто чтобы убедиться).

Моей первой реакцией было то, что это может быть брандмауэр на сервере, блокирующий исходящие запросы, но я успешно использую cUrl в других местах для запросов и уверен, что здесь нет брандмауэра. Вызов $client->use_curl не имеет никакого значения для вызова NuSoap, но он по-прежнему не работает.

Любые идеи, почему это может происходить, были бы очень признательны.

9
задан Johnvb 11 October 2011 в 10:55
поделиться