Mein Problem ist sehr häufig. Ich lese fast alle Themen auf Stackoverflow zu diesem Thema, kann aber immer noch nicht funktionieren. Mein Code ist:Fehler WSDL: SOAP-FEHLER: Parsing WSDL: Konnte nicht von
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"
im Browser die URL
http://Myhostname/api/soap?wsdl
große Werke (gibt eine XML-Antwort)
Ich versuche dies:
ini_set("soap.wsdl_cache", "0");
ini_set("soap.wsdl_cache_enabled", "0");
$proxy = new SoapClient('http://Myhostname/api/soap?wsdl');
ich diesen Fehler hatte Code, um zu sehen, ob PHP diese URL erreichen kann:
if (file_get_contents('http://Myhostname/api/soap?wsdl') === false) {
echo "ERROR: file_get_contents <br/>";
}
Es zeigt mir meinen Fehler "FEHLER: file_get_contents", so dass es nicht funktioniert. In den Foren sah ich, dass zur Lösung dieses Problems ich Hostnamen in OS "Hosts" -Datei hinzufügen muss. Also habe ich es getan. In meiner Hosts-Datei habe ich diese Zeile hinzugefügt 127.0.0.1 Myhostname
Aber es funktioniert immer noch nicht. Dann änderte ich URL in meinem Code
http://localhost/Myhostname/api/soap?wsdl
aber es funktioniert auch nicht.
Ich versuchte eine andere Lösung, die ich im Internet gefunden habe. Für einige Leute hat es funktioniert. In meiner URL habe ich '?' Zeichen zu '.' Also meine neue URL wurde
http://localhost/Myhostname/api/soap.wsdl
aber es funktioniert auch nicht.
Ich sah official SOAP doc! Und versucht, das SoapClient-Objekt auf andere Weise zu erstellen (mit Optionen wie 'proxy_host' und 'proxy_port'). Aber das hat mir nicht geholfen.
Es ist mein zweiter Tag ich versuche, dieses Problem zu lösen, aber ich kann nicht. Ich mache mein Praktikum, ich habe nicht viel Erfahrung, also habe ich vielleicht nicht die richtigen Lösungen gefunden. Vielleicht kann jemand helfen. Ich wäre sehr zufrieden.
Ich denke, dass Sie in einigen Fällen file_get_contents() nicht zu Ihrem Hostnamen * vom Server selbst hinter diesem Hostnamen führen können. Haben Sie versucht, diesen Code von einer lokalen Umgebung aus auszuführen? – kalenjordan
Haben Sie versucht, http: //127.0.0.1/Myhostname/api/soap? Wsdl'? –
Eigentlich war es eine Art von Serverkonfigurationsproblem. Mein Vorgesetzter hat es behoben. Danke trotzdem Jungs. – Kalitine