Php 无法识别Magento Soap V2 catalogProductListOfAdditionalAttributes。

Php 无法识别Magento Soap V2 catalogProductListOfAdditionalAttributes。,php,api,magento,soap,Php,Api,Magento,Soap,我正在阅读magnetos文档,其中有一节介绍如何检索产品的附加属性 他们展示的示例之一是SOAPV2的以下内容 $proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); // TODO : change url $sessionId = $proxy->login('apiUser', 'apiKey'); // TODO : change login and pwd if necessary $result =

我正在阅读magnetos文档,其中有一节介绍如何检索产品的附加属性

他们展示的示例之一是SOAPV2的以下内容

$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); // TODO : change url
$sessionId = $proxy->login('apiUser', 'apiKey'); // TODO : change login and pwd if necessary

$result = $proxy->catalogProductListOfAdditionalAttributes($sessionId, 'simple', '13');
var_dump($result);
我尝试了这个例子,但我得到了一个soap错误。这是这样说的

Fatal error: Uncaught SoapFault exception: [Client] Function ("catalogProductListOfAdditionalAttributes") is not a valid method for this service
        foreach($attributeList as $attr) {
            $attributes->additional_attributes[] = $attr->code;
        }
        $prodInfo = $fclient->catalogProductInfo($fsession, $prod->product_id, null,$attributes);
我在wsdl-xml页面中查找了该方法,但找不到任何远程匹配的方法。那么文件是否过时了??我的wsdl过期了还是怎么了?我正在用v2解决它

$attributeList = $fclient->catalogProductAttributeList($fsession, $prod->set);
以上内容为您提供了附加属性和核心属性。其中$prod->set是产品属性集合编号

甚至更好。如果要获取所有特定产品属性值,可以执行以下操作

Fatal error: Uncaught SoapFault exception: [Client] Function ("catalogProductListOfAdditionalAttributes") is not a valid method for this service
        foreach($attributeList as $attr) {
            $attributes->additional_attributes[] = $attr->code;
        }
        $prodInfo = $fclient->catalogProductInfo($fsession, $prod->product_id, null,$attributes);

以上内容将在附加属性中返回产品属性的所有核心值和自定义值

您使用哪个版本的Magento?您的示例在1.7上运行良好,文档是最新的。请检查您的wsdl是否已缓存(配置/服务/Magento Core API/使用wsdl缓存),并且您的API用户是否有权访问资源(API角色)。Magento 1.13.1.0版的Soap V2 wsdl中肯定缺少此API调用,但它仍在文档中。这不是缓存或访问问题。我想Magento开发人员删除了这一点,以便更准确地适应您下面的CatalogProductAttribute调用集,但忘记了更新文档。您是否找到过一种方法,可以获取产品信息以返回所有属性,而不首先将其枚举到附加属性数组中?似乎一个简单的通配符方法是理想的,但我已经尝试了我能想到的所有组合。有时,我只需要一个具有所有属性的快速产品调用,而进行两次调用并不理想,而且我不能总是提前缓存属性列表。