我正在使用ksoap2 Android庫調用Magento api通過SOAP。登錄方法(獲取sessionId)工作正常,但Call方法不會接受額外的參數。調用方法有三個參數: 調用(sessionId,resourcePath,數組參數)。我想調用的resourcePath是customer.list,其他參數是過濾器(電子郵件)。 Api文檔是here。在android中調用magento
Hashtable<String, String> hashtable = new Hashtable<String, String>();
hashtable.put("email", "myemail");
SoapObject request = new SoapObject("urn:Magento", "call");
request.addProperty("resourcePath", "customer.list");
request.addProperty("sessionId", sessionId);
request.addProperty("args", hashtable);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
(new MarshalHashtable()).register(envelope);
envelope.dotNet = false;
envelope.xsd = SoapSerializationEnvelope.XSD;
envelope.enc = SoapSerializationEnvelope.ENC;
envelope.setOutputSoapObject(request);
HttpTransportSE transport = new HttpTransportSE(URL);
transport.debug = true;
transport.call("", envelope);
使用此代碼,我成功獲取客戶列表,但電子郵件過濾器不適用。 在此先感謝!
嗨給出,我想請求你分享答案。我很煩,在磁振SOAP v1集成在android – vabhavsingh 2016-02-17 04:45:08
嗨。我們從SOAP切換到XMLRPC,因此我無法幫助您......對不起! – File 2016-02-17 09:04:53