Magento:Soap api 不工作

问题描述 投票:0回答:1

嗨,我正在使用 magento 版本 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用户。 但它仍然不起作用。请有人帮我找到解决方案。

php magento magento-soap-api
1个回答
2
投票

你的代码看起来有点臃肿。试试这个:

$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);

希望有帮助:)

问候

© www.soinside.com 2019 - 2024. All rights reserved.