Ios 使用MagentoSOAPAPI的多调用方法的正确方法是什么?

Ios 使用MagentoSOAPAPI的多调用方法的正确方法是什么?,ios,xml,web-services,magento,soap,Ios,Xml,Web Services,Magento,Soap,我实现了两种调用magento方法的方法,第一种是使用类,第二种是使用类。但无论哪种方式都无法获取产品信息 请检查多呼叫方式的两对请求和响应:- SUDZC 请求:- <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml

我实现了两种调用magento方法的方法,第一种是使用类,第二种是使用类。但无论哪种方式都无法获取产品信息

请检查多呼叫方式的两对请求和响应:-

SUDZC

请求:-

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
  <multiCall>
     <sessionId>b543e92c12944a5512c624a4944423d8</sessionId>
     <calls>(
"catalog_product.info"
    )</calls>
     <options>(
     productId,
     5
    )</options>
  </multiCall>
</soap:Body>
</soap:Envelope>

b543e92c12944a5512c624a4944423d8
(
“目录\产品信息”
)
(
productId,
5.
)
答复:-

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
  <ns1:multiCallResponse>
     <multiCallReturn SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="ns1:FixedArray" />
  </ns1:multiCallResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
     <faultcode>SOAP-ENV:Server</faultcode>
     <faultstring>Cannot use object of type stdClass as array</faultstring>
  </SOAP-ENV:Fault>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Wsdl2code(我认为这里的soap信封有问题,因为里面没有指定参数,请告诉我如何更正它)

请求:-

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
  <multiCall xmlns="urn:Magento">
     <sessionId>b543e92c12944a5512c624a4944423d8</sessionId>
     <calls>
        <MagentoService>
           <SoapVersion>Default</SoapVersion>
           <AllowAutoRedirect>0</AllowAutoRedirect>
           <EnableDecompression>0</EnableDecompression>
           <UnsafeAuthenticatedConnectionSharing>0</UnsafeAuthenticatedConnectionSharing>
           <UseDefaultCredentials>0</UseDefaultCredentials>
           <PreAuthenticate>0</PreAuthenticate>
           <Url>http://mediaplus.co.za/api/soap/?wsdl/multiCall</Url>
           <Timeout>0</Timeout>
        </MagentoService>
     </calls>
  </multiCall>
 </soap:Body>
</soap:Envelope>

b543e92c12944a5512c624a4944423d8
违约
0
0
0
0
0
http://mediaplus.co.za/api/soap/?wsdl/multiCall
0
答复:-

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
  <ns1:multiCallResponse>
     <multiCallReturn SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="ns1:FixedArray" />
  </ns1:multiCallResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
     <faultcode>SOAP-ENV:Server</faultcode>
     <faultstring>Cannot use object of type stdClass as array</faultstring>
  </SOAP-ENV:Fault>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

SOAP-ENV:服务器
无法将stdClass类型的对象用作数组

在谷歌搜索了很多次之后,我通过查看解决了这个问题。 它有一个范例项目