Yakalanmamış SoapFault istisna: [HTTP] Hata getirilirken http başlıkları

9 Cevap php

Ben denemek ve sabun istemci sınıfının bir örneğini oluşturduğunuzda, ancak ben bir hata alıyorum, Magento'nın web hizmetleri için bir sabun bağlantı oluşturmak için çalışıyorum. Ben sorunsuz firefox wsdl dosyasını görüntülemek ve ben php apaches günlüklerinde WSDL için istekte izleyebilirsiniz ancak yine başarısız olur. NuSOAP bağlayabilirsiniz.

$proxy = new SoapClient('someaddress?wsdl');

Hata

<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-&gt;__doRequest('&lt;?xml version=&quot;...',    'http://cornishw...', 'urn:Mage_Api_Mo...', 1, 0)
[internal function]: SoapClient-&gt;__call('call', Array)
/home/sites/xxx/xxx_main/system/application/views/contentpage_templates/gift_service.php(29): SoapClient-&gt;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-&gt;_ci_load(Array, '')
/home/sites/xxx/xxx_main/system/application/modules/contentpage/controllers/contentpage.php(44): MY_Loader-&gt;view('contentpage_tem...', false, true)
[internal function]: Contentpage-&gt;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>

Teşekkürler

9 Cevap

Ayarlamak için deneyin:

default_socket_timeout = 120

php.ini

Eğer eklemeyi deneyin vermedi

'trace'=>1,

SoapClient oluşturma parametreleri ve sonra:

var_dump($client->__getLastRequest());
var_dump($client->__getLastResponse());

neler olduğunu görmek için?

Server tarafında bir sorun varsa, bu hata istemci üzerinde görünebilir. SOAP sunucu bir ayrıştırma hatası ile bir PHP script Örneğin, istemci bu iletisiyle başarısız olur.

Eğer sunucu kontrolü iseniz, kuyruk Apache SOAP sunucuyu barındıran makinede error_log. CentOS Eğer bu bulacaksınız / var / httpd / hatalar.log / log, yani komut:

tail-f / var / log / httpd / hatalar.log

Şimdi müşteri yenileyin ve hata mesajı izlemek. Sunucu komut ile herhangi bir PHP hataları gösterilir.

O birisi yardımcı olur umarım.

Ben PHP yapılandırması hakkında değilim ama PHP 5.2.6 kadar, PHP SOAP istemci ile biraz problem var:

Bug #41983 - Error Fetching http headers

Benim apache hata günlüğünde, gördüm:

[Tue Feb 16 14:55:02 2010] [notice] child pid 9985 exit signal File size limit exceeded (25)

Yani, benim en büyük günlük dosyası 2.1GB/sn 'lik / var / log / system.log tüm içeriğini kaldırıldı. Şimdi her şey çalışıyor.

Php sürümünden daha az 5.2.6 bir sorun vardır. Sen php sürümüne yükseltmeniz gerekebilir.

Bu bir Magento ilgili bir sorun varsa, bu zaman aşımı yuva neden olabilir gibi otomatik yeniden endeksleme kapatın (veya dolmak) gerekmektedir. Eğer betik görevlerini bittikten sonra bunu geri açabilirsiniz. Php.ini de öntanımlı soket zaman aşımı artırmak da iyi bir fikirdir.

I faced the same problem.
I was running It as CLI. So PHP was always running and it had to make soap call again and again after some interval.
The mistake I did was using singleton pattern for this. I thought use of singleton will cause performance boost but inturn I got

Error Fetching http headers in ...

Her arama için yeni SAOP nesne oluşturarak sabit.

Php.ini ile güncelleyin

default_socket_timeout = 120

Php yerine Apache modülünün CGI yüklüyse kendi php.ini oluşturabilirsiniz