C# 无法通过Magento API更新库存可用性/库存价值 背景

C# 无法通过Magento API更新库存可用性/库存价值 背景,c#,.net,api,magento,C#,.net,Api,Magento,我有一个现场测试的Magento商店。我从Magento存储的WSDL生成了一个MagentoApi C#类 问题 我能够通过我的API类更新产品数量,没有任何问题。我现在试图从API中设置库存可用性字段,但它不会更改其值 代码 结果 从Magento商店的管理部分,产品的数量值会发生变化,但库存可用性的值没有变化 我正在按照概述的说明设置manage_stock和use_config\u manage_stock。我需要通过添加参数is_in_specified=true来指定我正在提供is_

我有一个现场测试的Magento商店。我从Magento存储的WSDL生成了一个MagentoApi C#类

问题 我能够通过我的API类更新产品数量,没有任何问题。我现在试图从API中设置
库存可用性
字段,但它不会更改其值

代码 结果 从Magento商店的管理部分,产品的数量值会发生变化,但库存可用性的
值没有变化


我正在按照概述的说明设置
manage_stock
use_config\u manage_stock

我需要通过添加参数
is_in_specified=true
来指定我正在提供
is_in_stock
字段

因此,我的API调用如下:

var productUpdated = new catalogInventoryStockItemUpdateEntity
                      {
                          is_in_stock_specified = true,
                          is_in_stock = 0,
                          manage_stock = 0,
                          use_config_manage_stock = 0,
                          qty = new Random().Next(50, 100).ToString(CultureInfo.InvariantCulture)
                      };

事实证明,我需要通过添加参数
is_in_stock\u specified=true
来指定我正在提供
is_in_stock
字段

因此,我的API调用如下:

var productUpdated = new catalogInventoryStockItemUpdateEntity
                      {
                          is_in_stock_specified = true,
                          is_in_stock = 0,
                          manage_stock = 0,
                          use_config_manage_stock = 0,
                          qty = new Random().Next(50, 100).ToString(CultureInfo.InvariantCulture)
                      };

刚刚在这个愚蠢的bug上为我节省了1小时到45天的时间。很高兴它有所帮助,这似乎是MagentoAPI中的一种常见模式。如果您曾经看到一个属性具有指定的
\u
布尔值,那么如果您正在使用它,您可能应该将其设置为true。使用SOAPv1对我不起作用。我想我得花45天的时间让头发再生。@hogan这对我和OP都很有效。你能发个问题让我们看看吗…@Seany84谢谢你的帮助。我测试了不同的场景,并使用
$stockItemData=['manage\u stock'=>'1','use\u config\u manage\u stock'=>'0','is\u in\u stock'=>1',qty'=>'25',]\u
布尔值,那么如果您正在使用它,您可能应该将其设置为true。使用SOAPv1对我不起作用。我想我得花45天的时间让头发再生。@hogan这对我和OP都很有效。你能发个问题让我们看看吗…@Seany84谢谢你的帮助。我测试了不同的场景,并使用
$stockItemData=['manage\u stock'=>'1','use\u config\u manage\u stock'=>'0','is\u in\u stock'=>1',qty'=>'25',]