嗨,我正在使用 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用户。 但它仍然不起作用。请有人帮我找到解决方案。
你的代码看起来有点臃肿。试试这个:
$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);
希望有帮助:)
问候