Ho sviluppato un codice che utilizza le classi NuSoap per PHP per chiamare un servizio Web soap. Sto usando NuSoap piuttosto che le classi native di PHP 5 principalmente perché non voglio aggiungere un prerequisito aggiuntivo quando questo codice è installato su un server web condiviso. Il codice funziona bene sulla mia macchina:Utilizzo di NuSoap funziona su computer locale ma non su server
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);
Quando ho messo questo in su su un server virtuale, piuttosto che correre a livello locale, l'ultima riga appena si blocca per circa 10 secondi, quindi PHP bombe fuori. Non viene sollevata alcuna eccezione e non vi è alcun errore PHP (ho provato a utilizzare try..catch e set_error_handler solo per essere sicuri).
La mia prima reazione è stata che questo potrebbe essere un firewall in esecuzione sul server che blocca le richieste in uscita, ma sto usando con successo cUrl altrove per richieste e sono abbastanza sicuro che non ci sia un firewall in esecuzione qui. Chiamare $ client-> use_curl non fa alcuna differenza per la chiamata NuSoap, tuttavia, non funziona ancora.
Qualsiasi idea del motivo per cui questo potrebbe accadere sarebbe molto apprezzata.
Molto probabilmente l'impostazione memory_limit è diversa su localhost e server e il server esaurisce la memoria. –
Grazie per il suggerimento. Ho aumentato il limite di memoria a 96M, ma questo ha funzionato solo se avessi chiamato $ client-> setGlobalDebugLevel (0). 64M non era abbastanza anche con il debug disattivato. Ho appena controllato e il servizio web sta rispondendo con ~ 2 MB di dati. Sembra strano che l'utilizzo della memoria sia così alto in questo caso. – Johnvb
Anche io sto vivendo un problema simile. Ho una risposta dati 5mb da un servizio web che nuSOAP vuole occupare più di 256 MB di memoria da gestire. – Travis