【问题标题】:How to get all additional attributes of Magento Product without explicitly specifying them如何在不明确指定的情况下获取 Magento 产品的所有附加属性
【发布时间】:2010-08-13 09:30:03
【问题描述】:

我的目标是使用 SOAP API 获取并显示 Magento 产品的所有附加属性。例如 T 恤产品的性别、衬衫尺码和颜色。但程序不应该知道属性名称。

在 SOAP 调用中:catalogProductInfo 有额外的属性参数,看起来我必须明确指定额外的属性名称。

我正在使用 Java 和 Apache Axis 连接到 Mangeto SOAP API,代码如下:

stub.catalogProductInfo(sessionId, "118", null, null);

call declaration:
public com.magentocommerce.api.CatalogProductReturnEntity catalogProductInfo(java.lang.String sessionId, java.lang.String productId, java.lang.String storeView, com.magentocommerce.api.CatalogProductRequestAttributes attributes) throws java.rmi.RemoteException {

attributes parameter constructor declaration:
public CatalogProductRequestAttributes(
       java.lang.String[] attributes,
       java.lang.String[] additional_attributes) {

但我必须以某种方式指定最后一个参数才能获取所有附加属性。 是否可以通过 SOAP API 来实现?

更新:“*”作为属性不起作用

CatalogProductRequestAttributes attrs = new CatalogProductRequestAttributes();
attrs.setAttributes(new String[] {"*"});
attrs.setAdditional_attributes(new String[] {"*"});

结果对象既没有填充标准属性,也没有填充其他属性。

【问题讨论】:

  • 嗨!我还尝试通过发送属性 ID 或属性标签来通过soapUI 获取这些附加属性。根本没用!?
  • 有什么更新吗?我也面临这个问题,目前正在寻找最简单的解决方案。如果没有,唯一的解决方法是覆盖 API 实现。
  • 我不再动手了。您必须像我一样为自己找到解决方法。

标签: java php soap magento axis


【解决方案1】:

我没有专门通过 API 尝试过,但是您是否尝试过将 * 指定为属性名称?这就是它在框架本身中完成的方式。

【讨论】:

    【解决方案2】:

    您首先必须调用 API 以获取附加属性列表: 目录ProductListOfAdditionalAttributes

    然后循环遍历结果并构造您对特定产品的第二个请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-22
      • 2023-03-02
      相关资源
      最近更新 更多