Il mio problema è molto comune. Ho letto quasi tutti gli argomenti su StackOverflow su questo problema, ma non riesco ancora a fare qualcosa. Il mio codice è:Errore WSDL: SOAP-ERROR: analisi WSDL: impossibile caricare da
ini_set("soap.wsdl_cache", "0");
ini_set("soap.wsdl_cache_enabled", "0");
$proxy = new SoapClient('http://Myhostname/api/soap?wsdl');
ho avuto questo errore:
Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn't load from
'http://Myhostname/api/soap?wsdl' : failed to load external entity
"http://Myhostname/api/soap?wsdl"
Nel browser l'URL
http://Myhostname/api/soap?wsdl
grandi opere (restituisce una risposta XML)
provo questo codice per vedere se PHP può raggiungere questo URL:
if (file_get_contents('http://Myhostname/api/soap?wsdl') === false) {
echo "ERROR: file_get_contents <br/>";
}
Mi visualizza il mio errore "ERRORE: file_get_contents", quindi non funziona. Nei forum ho visto che per risolvere questo problema devo aggiungere il nome host nel file "host" del sistema operativo. Così l'ho fatto. Nel file hosts ho aggiunto questa riga 127.0.0.1 Myhostname
Ma non funziona ancora. Poi ho cambiato l'URL nel mio codice per
http://localhost/Myhostname/api/soap?wsdl
ma non funziona neanche.
Ho provato un'altra soluzione trovata su Internet. Per alcune persone ha funzionato. Nella mia URL ho cambiato "?" carattere a '.'. Quindi il mio nuovo URL è diventato
http://localhost/Myhostname/api/soap.wsdl
ma non funziona neanche.
Ho visto official SOAP doc! E ha cercato di creare oggetti SoapClient in modo diverso (con opzioni come "proxy_host" e "proxy_port"). Ma questo non mi ha aiutato.
È il mio secondo giorno che cerco di risolvere questo problema, ma non posso. Sto facendo il mio stage, non ho molta esperienza, quindi forse non ho provato le soluzioni che ho trovato correttamente. Forse qualcuno può aiutarti. Sarei molto contento
Penso che in alcuni casi, non è possibile file_get_contents() per il nome host * da * il server stesso dietro quel nome host. Hai provato a eseguire questo codice da un ambiente locale? – kalenjordan
Hai provato 'http: //127.0.0.1/Myhostname/api/soap? Wsdl'? –
In realtà era una sorta di problema di configurazione del server. Il mio supervisore l'ha riparato. Grazie comunque ragazzi. – Kalitine