如何在不明确指定的情况下获取Magento产品的所有其他属性

时间:2010-08-13 09:30:04

标签: java php soap magento axis

我的目标是使用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[] {"*"});

结果对象既不填充标准属性也不填充其他属性。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您首先必须调用API以获取其他属性列表: catalogProductListOfAdditionalAttributes

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