【问题标题】:c# translation to PHP Array key时间:2019-05-10 标签:c#translation to PHP Array key
【发布时间】:2026-02-12 12:05:02
【问题描述】:

我正在尝试从 C# 调用 PHP Magento 存储 Web 服务。

如何在 C# 中创建这种类型的“ARRAY KEY”以传递给 PHP:

call( 
    $sessionId, 
    'product_stock.update', 
    array('Sku', array('qty'=>50, 'is_in_stock'=>1))
);

这里是用于通话的 magento wiki 的链接:
http://www.magentocommerce.com/wiki/doc/webservices-api/api/cataloginventory_stock_item#cataloginventory_stock_item.update

【问题讨论】:

    标签: c# php web-services magento


    【解决方案1】:

    我们在 C# 中使用 API 有一段很长的时间,主要是因为缺乏示例。最终,我们弄清楚了这一切,并为 .net 构建了一个完整的对象库,其中包括 API 的所有对象和方法。它还包括每个对象和方法的示例。

    我们在 MIT X11 许可下发布了我们的库,您可以在此处阅读更多信息并下载源代码:

    .NET C# Object Library for Magento’s XML-RPC API

    【讨论】:

      【解决方案2】:

      比你想象的要简单一些。

      这个功能: $proxy->call($sessionId, 'product_stock.update', array('Sku', array('qty'=>50, 'is_in_stock'=>1)));

      使用以下文档中指定的格式传递 XML

      http://www.w3.org/TR/soap11/

      http://www.w3.org/TR/soap12/

      http://www.w3.org/TR/wsdl/

      XML 的格式很可能是这样的:

      Sku元素> ...元素>

      所以把这些奇怪的数组当作 XML 的数据源

      【讨论】:

      • 感谢您的回复,我正在寻找的是如何从 C# 传递这些数据,我已经尝试过字符串数组、对象数组甚至哈希表和排序列表......不知道还能使用什么当我传递数据时在 PHP 中模拟 ARRAY KEY... GBY, -R
      【解决方案3】:

      我已经使用soap(产品创建)非常努力地使用magento api,但我无法让它与开箱即用的XMLRPC或SOAP一起使用。

      我所做的是使用 XAMPP 设置一个基本的 Product.Create 调用使用 PHP 并得到它来保存信封。

      然后我将这个信封放入 .NET 并使用 XML/HTTP Post 重新创建它。

      我找不到任何可以让我创建类似 PHP 关联数组的结构的通用对象。唯一可能代表它的是一个 Old HashTable,其中一些子键包含 HashTables 作为它们在树结构中的值。

      【讨论】: