java php android magento ksoap2

java - ¿En Android cómo enviar una matriz compleja en magento usando la biblioteca ksoap2?



php (1)

Paso 1: en ksoap o ksoap2 no hay soporte directo para enviar Array. para que pueda crear un SoapObject con el nombre del método (que necesita para crear una matriz)

SoapObject object= new SoapObject(NAMESPACE,"shoppingCartProductEntity"); object.addProperty("product_id","886"); object.addProperty("sku","ABC 456-Black-10"); and more parameters.....

Paso 2: luego crea el método arrayType (opcional depende de tu WSDL) y agrega este soapObject a esa matriz Object como propiedad

SoapObject EntityArray = new SoapObject(NAMESPACE, "shoppingCartProductEntityArray"); EntityArray.addProperty("products",object);

Paso 3: finalmente agrega la matriz a tu llamada principal

SoapObject request = new SoapObject(NAMESPACE,"shoppingCartProductAdd"); request.addProperty("sessionId", sessionId); request.addProperty("quoteId", cartId); request.addProperty("products",EntityArray); //ADDING ARRAY HERE AS A PEOPERTY env.setOutputSoapObject(request); androidHttpTransport.call(NAMESPACE +"/shoppingCartProductAdd ", env); resultSoap = env.getResponse();

NOTA: los pasos varían dependiendo de su WSDL, a veces puede agregar directamente un objeto de primer paso como parámetro, esto depende de WSDL.

Complex Array Like:

$id = "value"; $customer = array("key" => "value", "key" => "value"); $set = $soap->call($sessionID, ''abc.set'', array($id, $customer));

Cómo enviar un formulario de solicitud de Android con este tipo de matriz compleja en soap.

Estoy usando la biblioteca ksoap2 para enviar solicitudes en magneto soap.

En SoapUi, el software de formateo de llamar a este tipo de matriz compleja como:

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <call> <sessionId xsi:type="xsd:string">??</sessionId> <resourcePath xsi:type="xsd:string">abc.set</resourcePath> <args xsi:type="SOAP-ENC:Array"> <item xsi:type="xsd:int">id</item> <item xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">key</key> <value xsi:type="xsd:string">value</value> </item> <item> <key xsi:type="xsd:string">key</key> <value xsi:type="xsd:string">value</value> </item> <item> <key xsi:type="xsd:string">key</key> <value xsi:type="xsd:string">value</value> </item> </item> </args> </call> </SOAP-ENV:Body> </SOAP-ENV:Envelope>