Magento XMLRPC调用失败;调用参数与签名不匹配”;

本文关键字:调用 不匹配 参数 XMLRPC 失败 Magento | 更新日期: 2023-09-27 18:22:24

我想使用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包装。

Magento XMLRPC调用失败;调用参数与签名不匹配”;

我最近在为Magento构建自定义NodeJs API XMLRPC包装器时遇到了这个问题。特别适用于catalog_gategory.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] ] ...

并消除了该错误。