C#SOAP WSDL从Magento获取结果
我有来自Magento的SOAP wsdl,我必须从中获得简单的产品列表。 逻辑是从catalogProductList中获取“简单”产品 到目前为止,在VS2015中,我已经创建了控制台应用程序,并在参考中添加了服务参考,粘贴了wsdl的url,但我不知道该怎么做,也没有找到任何类似的示例 在PHP中,代码如下所示:C#SOAP WSDL从Magento获取结果,c#,magento,soap,wsdl,C#,Magento,Soap,Wsdl,我有来自Magento的SOAP wsdl,我必须从中获得简单的产品列表。 逻辑是从catalogProductList中获取“简单”产品 到目前为止,在VS2015中,我已经创建了控制台应用程序,并在参考中添加了服务参考,粘贴了wsdl的url,但我不知道该怎么做,也没有找到任何类似的示例 在PHP中,代码如下所示: $proxy = new SoapClient('http://magentowebshop/api/v2_soap/?wsdl'); $sessionId = $proxy-
$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);
添加serviceReference时,它要求您输入名称空间 在您的代码中,使用该名称空间创建一个客户端,以便能够调用WSDL的公开方法
private void testMethod
{
ServiceReference1.ExampleClient client ;
client = new ServiceReference1.ExampleClient();
client.exampleMethod() ;
}
键入servicerence1.
时,您将看到一个基于您添加的wsdl创建的客户机列表
然后,当您键入客户端时。
您将看到实现所需的方法好的,我找到了一个解决方案:
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);
,但SOAP服务通常也不是这样。从步骤10开始,它与PHP.ok、tnx非常相似。当我输入client时,我看到了我不需要的方法。例如,我使用catalogProductList,它需要sessionid字符串(即用户和apikey),然后过滤过滤器,然后是字符串storeview,如何使用最后一个,过滤和存储视图?抱歉,我无法帮助您使用magento web shop,这是另一个问题,请查看他们的支持论坛或此处的SO,我相信原来的问题已经得到了回答;-)