c#转换为PHP数组键

时间:2009-03-11 02:14:07

标签: c# php web-services magento

我正在尝试从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

3 个答案:

答案 0 :(得分:3)

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

我们在MIT X11许可下发布了我们的图书馆,你可以在这里阅读更多相关内容并下载资源:

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

答案 1 :(得分:1)

比你想象的要简单一些。

此功能: $ 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的格式很可能如下所示:

< XML> <组件>&SKU LT; /组件> <组件> ...< /组件> < / XML>

因此,将这些奇怪的数组视为XML的数据源

答案 2 :(得分:0)

我使用soap(产品创建)使用magento api非常努力,我无法使用开箱即用的XMLRPC或SOAP。

我所做的是使用XAMPP设置基本的Product.Create调用,并使用PHP保存信封。

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

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