在Powershell 3.0中使用Magento的SOAP api

时间:2016-06-18 17:30:00

标签: php web-services powershell magento soap

我尝试做的是在Powershell中使用Magento的SOAP API(http://magentohost/api/v2_soap?wsdl=1)来更新产品,创建产品,管理类别等。

所以我到目前为止找到的最简单的方法是this page

这里有一点我登录的内容(并且它确实成功登录) -

$uri = "http://mydomainname.com/api/v2_soap?wsdl=1"
$proxy = new-webserviceproxy $uri
$sessionid = $proxy.login("username","password")

现在,我应该可以输入$proxy.catelogproductinfo($sessionid,(a sku number), (a store number))之类的内容并获取指定产品的产品信息。

我的问题是,我不太清楚我使用的某些语法有什么问题。对于上述方法,here是Magento的devdocs帮助页面。

似乎即使一个参数被标记为可选,如果我将它从我的请求中删除,我会得到一个错误,说它期望更多的参数。看起来它似乎期待第四个参数的数组,但是当我尝试将它作为数组输入时(无论是在字面上写入请求还是作为变量),API都会返回错误,说它可以&#39读它。

对于我能够填写所有参数的方法,API可以正常工作并回复我正在寻找的内容。我使用这种方法成功获得了Magento中某个类别的信息。该调用需要一个哈希表,我以$hash = @{"value1" = "something";"value2" = "something2"}

的形式构建

通过Powershell与API进行通信是否有更简单的方法?我尝试了一些invoke-webrequest的方法,而Magento也提供了一个REST API,但除了上面的内容之外,我还无法获得其他任何工作。

编辑:所以我想通了如果我只是将$ null添加到可选参数中,它会接受它们。但是当我要求一个数组时,我仍然不知道如何输入一个参数。

0 个答案:

没有答案