Magento Api错误致命错误:未捕获的SoapFault异常:[4]资源路径不可调用

时间:2013-11-13 10:12:20

标签: magento soap magento-1.7

当我在magento root中运行以下代码时

<?php
$client = new SoapClient('http://localhost/mymagento/index.php/api/v2_soap/index?wsdl=1', array('cache_wsdl' => WSDL_CACHE_NONE));
$session = $client->login('testuser', 'testuser');              
    $result = $client->salesOrderList($session);                    
echo"<pre>";
    print_r($result);
echo"</pre>";
?>

我收到以下错误

   Fatal error: Uncaught SoapFault exception: [4] Resource path is not callable. in /var/www/html/mymagento/sales_order.php:9
Stack trace:
#0 /var/www/html/mymagento/sales_order.php(9): SoapClient->__call('salesOrderList', Array)
#1 /var/www/html/mymagento/sales_order.php(9): SoapClient->salesOrderList('98850601ed8aa6f...')
#2 {main}
  thrown in /var/www/html/mymagento/sales_order.php on line 9

但是当我跑步时

$result = $client->salesOrderInfo($session,'100000030');   

没有错误。

如何解决这个问题? 请帮忙

2 个答案:

答案 0 :(得分:3)

这意味着您正在尝试访问应该无法访问的资源。就像类文件一样。

在我的项目中我收到此错误,一个目录不在正确的位置。请检查您正在创建的目录结构,以覆盖核心文件。或者检查核心文件目录结构是否被错误地打扰了。

答案 1 :(得分:0)

而不是使用localhost使用本地系统的IP地址。默认IP地址为127.0.0.1。

所以,你的代码应该像我这样:

<?php
$client = new SoapClient('http://127.0.0.1/mymagento/index.php/api/v2_soap/index?wsdl=1', array('cache_wsdl' => WSDL_CACHE_NONE));
$session = $client->login('testuser', 'testuser');              
$result = $client->salesOrderList($session);                    
echo"<pre>";
print_r($result);
echo"</pre>";
?>

试试这个,希望有所帮助!