Uncaught SoapFault-Ausnahme: [HTTP] Fehler Abrufen von HTTP-Headern
Ich versuche zum erstellen einer soap-Verbindung zum Magento-web-services, aber ich erhalte eine Fehlermeldung, wenn ich versuche, und erstellen Sie eine Instanz des soap-client-Klasse. Ich kann die Ansicht der wsdl-Datei im firefox ohne Probleme und ich beobachten kann, php die Anfrage für die wsdl-Datei in Apache-logs, aber es immer noch nicht. Nusoap verbinden können.
$proxy = new SoapClient('someaddress?wsdl');
Den Fehler
<b>Fatal error</b>: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in /home/sites/xxx/xxx_main/system/application/views/contentpage_templates/gift_service.php:29
Stack trace:
[internal function]: SoapClient->__doRequest('<?xml version="...', 'http://cornishw...', 'urn:Mage_Api_Mo...', 1, 0)
[internal function]: SoapClient->__call('call', Array)
/home/sites/xxx/xxx_main/system/application/views/contentpage_templates/gift_service.php(29): SoapClient->call(NULL, 'catalog_categor...', 5, 'giftshop')
/home/sites/xxx/xxx_main/system/application/libraries/MY_Loader.php(586): include('/home/sites/cor...')
/home/sites/xxx/xxx_main/system/application/libraries/MY_Loader.php(228): MY_Loader->_ci_load(Array, '')
/home/sites/xxx/xxx_main/system/application/modules/contentpage/controllers/contentpage.php(44): MY_Loader->view('contentpage_tem...', false, true)
[internal function]: Contentpage->index()
/home/sites/xxx in <b>/home/sites/xxx/xxx_main/system/application/views/contentpage_templates/gift_service.php</b> on line <b>29</b>
Dank
Kommentar zu dem Problem
Ich könnte mich irren, aber die Zeile mit "gift_service.php(29): SoapClient->call(NULL, 'catalog_categor...'," in den call-stack nicht zu entsprechen scheint "$proxy = new SoapClient" aber so etwas wie "proxy->catalog_categories()"? Bitte (Doppel -) check-in Zeile 29 gift_service.php
InformationsquelleAutor der Frage Remy | 2009-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen :
in Ihrem
php.ini
Datei.InformationsquelleAutor der Antwort
Haben Sie versuchen, hinzufügen
zu SoapClient Schaffung Parameter und dann:
zu sehen, was Los ist?
InformationsquelleAutor der Antwort hegemon
Dieser Fehler kann auf dem client angezeigt, wenn ein problem auf der server-Seite. Zum Beispiel, wenn der SOAP-server ist ein PHP-script mit ein parse-Fehler Auftritt, der client schlägt fehl mit dieser Meldung.
Wenn du die Kontrolle über den server, mit dem Schwanz zu Ihrer Apache-error_log auf der Maschine hostet, die den SOAP-server. Auf CentOS finden Sie diese in /var/log/httpd/error_log, so lautet der Befehl:
tail-f /var/log/httpd/error_log
Nun aktualisieren Sie die client-und die Uhr für die Fehlermeldung. Alle PHP-Fehler mit der server-Skript angezeigt werden.
Hoffe, dass jemand hilft.
InformationsquelleAutor der Antwort David Hurst
Ich vor dem gleichen problem.
Ich war als CLI. Also PHP war immer aktiv und hatte es, Seife zu machen, wieder anrufen und wieder nach einem Intervall.
Der Fehler, den ich machte, war die Verwendung des singleton-Musters. Ich dachte, die Verwendung von singleton wird dazu führen, dass performance-boost, aber inturn bekam ich
Ich es behoben, indem neue saop-Objekt für jeden Aufruf.
InformationsquelleAutor der Antwort Rahul Prasad
Ich bin nicht über Ihre PHP-Konfiguration, aber bis PHP 5.2.6 , PHP hat einige problem mit dem SOAP-client :
Bug #41983 - Error Fetching http headers
InformationsquelleAutor der Antwort Posto
Wenn dies ist ein Magento-problem, sollten Sie deaktivieren Sie die automatische re-Indizierung, da dies könnte die Ursache der socket-timeout (oder verfallen). Sie können es wieder einschalten, sobald das Skript beendet seine Aufgaben. Die Erhöhung der Standard-socket-timeout in php.ini ist auch eine gute Idee.
InformationsquelleAutor der Antwort Michael Mussulis
In mein apache-error-log, sah ich:
So, ich, entfernt alle Inhalte von meine größte log-Datei, 2,1 GB /var/log/system.log. Jetzt funktioniert alles.
InformationsquelleAutor der Antwort saintsjd
Es ein Problem in der php-version kleiner als 5.2.6. Möglicherweise müssen Sie ein upgrade der php-version.
InformationsquelleAutor der Antwort obiyoda
Bitte aktualisieren Sie Ihre php.ini mit
Können Sie Ihre eigene php.ini, wenn php installiert ist, ein CGI-anstelle eines Apache-Modul
InformationsquelleAutor der Antwort Shahzeb chohan