Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento:Soap api不工作_Php_Api_Magento_Soap - Fatal编程技术网

Php Magento:Soap api不工作

Php Magento:Soap api不工作,php,api,magento,soap,Php,Api,Magento,Soap,嗨,我正在使用magento vesion 1。9 我正在尝试使用php调用magento soap apiv2 我使用以下代码 $proxy = new SoapClient('http://domain/index.php/api/v2_soap/?wsdl=1'); $sessionId = $proxy->login((object)array('username' => 'user', 'apiKey' => 'password')); $product=$proxy

嗨,我正在使用magento vesion 1。9 我正在尝试使用php调用magento soap apiv2

我使用以下代码

$proxy = new SoapClient('http://domain/index.php/api/v2_soap/?wsdl=1');
$sessionId = $proxy->login((object)array('username' => 'user', 'apiKey' => 'password'));
$product=$proxy->catalogProductInfo((object)array('sessionId' => $sessionId->result, 'productId' => '27'));
我获取会话id(我通过打印id进行测试) 但当我打肥皂电话时

$product=$proxy->catalogProductInfo((object)array('sessionId' => $sessionId->result, 'productId' => '27'));
显示“服务器错误”的浏览器

在后端拥有完全权限的api用户。
但它仍然不起作用。请找个人帮我找到解决办法

您的代码似乎有点臃肿。试试这个:

$proxy = new SoapClient('http://domain/index.php/api/v2_soap/?wsdl=1');
$sessionId = $proxy->login("username", "password");
$product = $proxy->catalogProductInfo($sessionId, '27');
print_r($product); // just to see the output
如果您想重新使用代码,我建议您执行以下操作:

$host = "domain.ext"; // replace with your domain name
$username = "username"; // replace with your soap user
$password = "password"; // replace with your user's password
$productId = "27";

$proxy = new SoapClient("http://".$host."/index.php/api/v2_soap/?wsdl=1");
$sessionId = $proxy->login($username, $password);
$product = $proxy->catalogProductInfo($sessionId, $productId);

print_r($product); // just to see the output
如果您想查看还有哪些其他功能可用,这是一个很好的提示:

$functions = $proxy->__getFunctions ();
var_dump($functions);
希望有帮助:)


关于

如果您收到“服务器错误”,我建议您查看您的Magento日志,以及您的服务器日志:)您解决了问题吗@Arul JamesI想获取分类树,我正在使用soap v2,我的代码:并在我的根文件夹中保存为bala.php,然后尝试使用192.168.1.65/anusthana/bala.php输出->如何解决问题?致命错误:未捕获的SoapFault异常:[soap-ENV:Client]在/opt/lampp/htdocs/magento_test/api_test.php中找不到参数错误:6堆栈跟踪:#0/opt/lampp/htdocs/magento_test/api_test.php(6):SoapClient->_调用('login',Array)#1/opt/lampp/htdocs/magento_test/api_test.php(6):SoapClient->login('divum',divum123')#2{main}在第6行的/opt/lampp/htdocs/magento_test/api_test.php中抛出这就是我得到的结果。。。奇怪的是,我可以用这段代码毫无问题地连接到我的Magento 1.9商店。您目前安装了什么版本的php?您是否完全使用了我发布的代码,或者您是否对其进行了修改(当然,除了主机、用户名和密码之外),您最初发布的代码在新安装后是否适用?因为我自己的magento 1.9电子商店没有。如果这也是你的情况,请考虑把我的答案标记为有效。好的,很好。奇怪的是,我得到了这个错误:可捕获致命错误:stdClass类的对象无法转换为字符串。但如果它对你有用,那没问题:D干杯