我想使用Magento API中的函数“catalog.list”(链接:http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.list.html)
我的调用参数如下所示:
Product.List("mydomain.com/api/xmlrpc", "3345dd3eedc3deadbeef", new object[] { XMLFilter },StoreViewIDAsString);
将此函数与参数“StoreViewIDAsString”一起使用时,它将响应:
623 : Calling parameters do not match signature
我的代理如下:
public static Product[] List(string apiUrl, string sessionId, object[] args, string store_view)
{
IProduct prox = (IProduct)XmlRpcProxyGen.Create(typeof(IProduct));
prox.Url = apiUrl;
return prox.List(sessionId, _catalog_product_list, args,store_view);
}
[XmlRpcMethod("call")]
Product[] List(string sessionId, string method, object[] args,string store_view);
我正在使用Ez.LLC的Magento API Wrapper。
答案 0 :(得分:1)
我最近在为Magento构建自定义NodeJs API XMLRPC包装器时遇到了这个问题。特别适用于catalog_category.assignedProducts资源。
文档http://devdocs.magento.com/guides/m1x/api/soap/catalog/catalogCategory/catalog_category.assignedProducts.html要求输入整数值类别ID,但它确实喜欢获取整数值类别ID的数组。
我转过身来:
...
APIClient.methodCall('call',
[sessionId, 'catalog_category.assignedProducts', 8] ...
进入这个:
...
APIClient.methodCall('call',
[sessionId, 'catalog_category.assignedProducts', [8] ] ...
并消除了这个错误。