2013-07-05 92 views
1

我有一臺CentOS 6,Apache 2.2,PHP 5.4的雲服務器,我有一個Magento站點。 我嘗試使用的Magento的WebService,並返回該錯誤:PHP SOAP和Magento WebService的錯誤

SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******.com/dev/index.php/api/soap/index/?wsdl=1' : failed to load external entity "http://******.com/dev/index.php/api/soap/index/?wsdl=1" 

我在這裏和谷歌搜索,我嘗試在php.ini很多變化,但在所有的情況下,我沒有成功。

我在某些情況下閱讀這是服務器端的問題,對於錯誤的配置。

注¹:SOAP安裝在服務器中,在phpinfo()中啓用了SOAP。

注2:在另一臺服務器上正常工作。

任何人有任何想法如何解決這個問題?

編輯:服務器使用WHM/CPanel,我用EasyApache安裝Apache,PHP。並使用默認配置。

EDIT2:這僅僅是一個使用SOAP和錯誤它返回一個簡單的示例代碼:

代碼:(此代碼的第一行是一個9行,和第13行是「$ CLI =新SoapClient的( $ api_url_v1);「)

<?php 
    $api_url_v1 = "http://site.com/dev/api/soap/?wsdl=1"; 
    $username = '*********'; 
    $password = '*********'; 
    $cli = new SoapClient($api_url_v1); 
    //retreive session id from login 
    $session_id = $cli->login($username, $password); 
    //call customer.list method 
    $result = $cli->call($session_id, 'customer.list', array(array())); 
?> 

錯誤:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://site.com/dev/api/soap/?wsdl=1' : failed to load external entity "http://site.com/dev/api/soap/?wsdl=1" in /home/******/public_html/test_soap.php:13 Stack trace: #0 /home/******/public_html/test_soap.php(13): SoapClient->SoapClient('http://site...') #1 {main} thrown in /home/******/public_html/test_soap.php on line 13 
+0

CURL是否安裝在服務器上? – iTom

+0

是,「cURL支持:啓用」。 ;) –

+0

嘗試https而不是? –

回答

0

嘗試通過網頁瀏覽器來獲取WSDL。如果這不起作用,那麼你在URL中有錯誤。嘗試www版本的網址,檢查重寫錯誤,檢查htaccess。你不需要https!

+0

當我使用www.site.com/api/soap/?wsdl=1時,它會重定向到主頁。但是,當我使用site.com/api/soap/?wsdl=1時,它將重定向到XML文件。但我使用的API沒有www。 –