我的目标是使用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[] {"*"});
结果对象既不填充标准属性也不填充其他属性。
答案 0 :(得分:1)
我没有专门尝试过API,但您是否尝试将*
指定为属性名称?这就是它在框架中的完成方式。
答案 1 :(得分:0)
您首先必须调用API以获取其他属性列表: catalogProductListOfAdditionalAttributes
然后遍历结果并构建对特定产品的第二个请求。