我试图找到有关如何使用PAW / POSTMAN将数据发布到Magento 1.9 SOAP API的信息。
最重要的是,我试图了解如何在请求中添加过滤器
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento">
<soapenv:Header/>
<soapenv:Body>
<urn:salesOrderList soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<sessionId xsi:type="xsd:string">alreadydefinedandworking</sessionId>
</urn:salesOrderList>
</soapenv:Body>
</soapenv:Envelope>
我目前正在使用Soap UI来完成我的任务,但我坚持如何在SOAP数据包中添加过滤器,以便我可以从Magento中获取数据。
在使用XML数据包连接到Magento的基础知识上是否有任何Gists在线位置?或者,如果有人知道如何为incremental_id添加过滤器,那将是非常好的
答案 0 :(得分:0)
请求节点根据您在Magento中使用的soap API类型而有所不同。
有:
如果您使用最兼容的WSI模式 - 请求参数定义如下所示:
<xsd:element name="salesOrderListRequestParam">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
<xsd:element minOccurs="1" maxOccurs="1" name="filters" type="typens:filters"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
其中过滤器ns为:
<xsd:complexType name="filters">
<xsd:sequence>
<xsd:element name="filter" type="typens:associativeArray" minOccurs="0"/>
<xsd:element name="complex_filter" type="typens:complexFilterArray" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
这两个值都是具有键值对的数组对象。
有关详细信息,请参阅API Helper中的代码,方法:parseFilters()和_parseComplexFilter(如果在过滤器中使用条件)。
一些例子(Soap_v2):
<ns1:salesOrderListRequestParam>
<sessionId>your sesion id</sessionId>
<filters>
<filter>
<complexObjectArray>
<key>increment_id</key>
<value>12345</value>
</complexObjectArray>
</filter>
</filters>
</ns1:salesOrderListRequestParam>