Magento XMLRPC API使用finset运算符失败

Magento XMLRPC API使用finset运算符失败,api,magento,xml-rpc,Api,Magento,Xml Rpc,Magento版本1.4.1.1 我正在尝试使用XMLRPC API(catalog\u product.list方法调用)检索为特定网站筛选的产品列表。服务器返回“未知错误”。我可以调用相同的方法并按状态、sku等进行筛选。但是,每当我尝试筛选包含多个值的字段(例如网站、类别、类别ID)时,我都会得到未知错误 我正在使用C#和Charles Cook的优秀xmlrpc.net库。我捕获了发送到服务器的XML,如下所示。有人能提供任何关于为什么会发生这种情况的见解吗 这项工作: <?xml

Magento版本1.4.1.1

我正在尝试使用XMLRPC API(catalog\u product.list方法调用)检索为特定网站筛选的产品列表。服务器返回“未知错误”。我可以调用相同的方法并按状态、sku等进行筛选。但是,每当我尝试筛选包含多个值的字段(例如网站、类别、类别ID)时,我都会得到未知错误

我正在使用C#和Charles Cook的优秀xmlrpc.net库。我捕获了发送到服务器的XML,如下所示。有人能提供任何关于为什么会发生这种情况的见解吗

这项工作:

<?xml version="1.0"?> <methodCall> <methodName>call</methodName> <params> <param> <value> <string>81a7c4fffec8e78a6fe4b3f15f3e5cd0</string> </value> </param> <param> <value> <string>catalog_product.list</string> </value> </param> <param> <value> <array> <data> <value> <struct> <member> <name>status</name> <value> <struct> <member> <name>eq</name> <value> <string>1</string> </value> </member> </struct> </value> </member> </struct> </value> </data> </array> </value> </param> </params> </methodCall> 呼叫 81a7c4fffec8e78a6fe4b3f15f3e5cd0 产品目录 地位 情商 1. 这并不是:

<?xml version="1.0"?> <methodCall> <methodName>call</methodName> <params> <param> <value> <string>5d7412249845e29458b63e3b03935445</string> </value> </param> <param> <value> <string>catalog_product.list</string> </value> </param> <param> <value> <array> <data> <value> <struct> <member> <name>websites</name> <value> <struct> <member> <name>finset</name> <value> <string>1</string> </value> </member> </struct> </value> </member> </struct> </value> </data> </array> </value> </param> </params> </methodCall> 呼叫 5d7412249845e29458b63e3b03935445 产品目录 网站 鳍组 1.
您可以使用xdebug和IDE逐步完成请求并跟踪哪个类正在处理它吗?如果多个条件运算符需要特定语法,则可以读取源代码进行跟踪

编辑


我记得,如果存在单个节点而不是多个同级节点,XSLT将不会创建数组。因此,如果
finset
或其他多条件运算符需要一个数组,并且您正在
下传递一个节点,那么可能是作为标量接收,因此函数调用失败了?也许可以尝试发送
12
来测试我的理论?

您可以使用xdebug和您的IDE逐步完成请求并跟踪哪个类正在处理它吗?如果多个条件运算符需要特定语法,则可以读取源代码进行跟踪

编辑


我记得,如果存在单个节点而不是多个同级节点,XSLT将不会创建数组。因此,如果
finset
或其他多条件运算符需要一个数组,并且您正在
下传递一个节点,那么可能是作为标量接收,因此函数调用失败了?或许可以尝试发送
12
来测试我的理论?

您可能想尝试一下,它可能会提供更多示例来指导您的问题:

您可能想尝试一下,它可能会提供更多的示例来指导您的问题:

看起来这一定是Magento core API的问题。现在,我已经使用v2_soap api测试了该调用,并且从服务器得到了相同的“未知错误”响应。看起来这一定是Magento core api的问题。我现在已经使用v2_soap api测试了这个调用,我从服务器上得到了相同的“未知错误”响应。@BOOMER感谢您的建议。我从2010年11月开始使用EZ时事通讯API。不幸的是,我仍然得到同样的错误
code
XmlRpcStruct过滤器on=new XmlRpcStruct();XmlRpcStruct filterParams=新的XmlRpcStruct();添加(“finset”,新字符串[]{“旋律”})//存储ID filterOn.Add(“网站”,filterParams);Product[]myProducts=Product.List(apirl,sessionId,新对象[]{filterOn})
code
导致
code
服务器返回错误异常:[0]未知错误
code
我知道它是冗余的,但我必须询问SOAP和SimpleXML PHP模块是否已安装且工作正常?谢谢你的建议。我从2010年11月开始使用EZ时事通讯API。不幸的是,我仍然得到同样的错误
code
XmlRpcStruct过滤器on=new XmlRpcStruct();XmlRpcStruct filterParams=新的XmlRpcStruct();添加(“finset”,新字符串[]{“旋律”})//存储ID filterOn.Add(“网站”,filterParams);Product[]myProducts=Product.List(apirl,sessionId,新对象[]{filterOn})
code
导致
code
服务器返回错误异常:[0]未知错误
code
我知道它是冗余的,但我必须询问SOAP和SimpleXML PHP模块是否已安装且工作正常?和