我有来自 Magento 的 SOAP wsdl,我必须从中获取简单的产品列表。 逻辑是从catalogProductList 中获取“简单”产品。
到目前为止,在 VS2015 中我已经创建了控制台应用程序,并在引用中添加了服务引用,粘贴了 wsdl 的 url,但进一步我不知道该怎么做,也没有找到任何类似的示例。
在 PHP 中代码会是这样的:
$proxy = new SoapClient('http://magentowebshop/api/v2_soap/?wsdl');
$sessionId = $proxy->login('user', 'pass');
$complexFilter = array(
'complex_filter' => array(
array(
'key' => 'type',
'value' => array('key' => 'in', 'value' => 'simple')
)
)
);
$result = $proxy->catalogProductList($sessionId, $complexFilter);
var_dump($result);
好的,我找到解决方案了:
ServiceReference1.PortTypeClient client = new
ServiceReference1.PortTypeClient();
string sessionID = client.login("user", "pass");
filters filter = new filters();
filter.complex_filter = new[]
{
new complexFilter
{
key = "type",
value = new associativeEntity { key = "in", value = "simple"}
}
};
var list = client.catalogProductList(sessionID, filter, "catalog");
client.endSession(sessionID);