Magento API V2销售订单列表不起作用

时间:2011-05-16 06:41:08

标签: web-services magento

我正在使用API​​ V2“salesOrderList”来接收已放置在Magento中的所有订单的列表。但SOAP响应向我显示错误: -

Item (Mage_Sales_Model_Order) with the same id "1" already exist

我正在使用Magento Enterprise版本1.9.0.0。

查看SQL&在搜索数据库时,我发现对于每个Order,SQL为同一个Order Entity ID提供4条记录;区别仅在于计费和名称字段中。运输区域。此外,查询通过使用两个不同的别名(一个用于计费,另一个用于发货)使用相同的数据库表“sales_flat_order_address”进行两个左连接。根据我的理解,这应该有效,但这种情况并没有发生。

任何人都可以建议发生什么事情&可以做些什么来从这个错误中恢复?

任何帮助都表示赞赏,并提前致谢。

1 个答案:

答案 0 :(得分:1)

粗略地说,Magento正在为您创建订单集并尝试加载所有记录。此集合有一条规则,只允许它为每个ID创建一个订单对象,因此当您的其他对象被加载时,将抛出异常。

左连接可能是问题所在,但很难说是蝙蝠。您可以发布一些关于如何进行API调用的详细信息吗?不正确的连接通常会出现此问题。


编辑:

如果您使用默认代码,我的第一个猜测是数据库中存在错误记录,或者这是升级后的Magento系统,其升级过程中出现了错误。在指向同一数据库的EE版本的干净副本上尝试此操作。如果出现相同的问题,您可能需要在数据库中插入以查找有问题的数据加载的原因。由于您已经有了查询,因此您可能希望将查询的某些部分分开,以查看某个子查询是否返回了太多数据。