Я разработал некоторый код, который использует классы 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, но все равно не работает.
Любые идеи, почему это может происходить, будут высоко оценены.