2012-07-23 56 views
0

我没有问题,我调用Magento Store的sales_order.list方法。我得到零作为来自Magento Store的响应。实际上该商店包含5个销售订单。
我使用的代码如下。
请有人帮助我,因为这是一个长期的问题,我无法找到它的Solution.Thanks提前。无法使用XMLRPC获得使用sales_order.list的销售数据

import java.util.HashMap; 
import org.xmlrpc.android.XMLRPCClient; 
import org.xmlrpc.android.XMLRPCException; 
import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 

    public class Dashboard extends Activity{ 
    Button loadProductList,loadSalesOrders; 
    XMLRPCClient client; 
    private Context mContext; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.dashboard); 
     client = new XMLRPCClient("http://192.168.1.237/machinetest/index.php/api/xmlrpc"); 
     mContext=Dashboard.this; 
     loadSalesOrders(); 
     }  

    public void loadSalesOrders() 
    { 
     Object[] productsGroupList = {" "}; 
     try 
     { 
      productsGroupList = (Object[])client.callEx("call", new Object[] {Utils.sessionId, "sales_order.list"}); 
     } 
     catch (XMLRPCException e) {e.printStackTrace();} 
     Toast.makeText(mContext, productsGroupList.toString(), Toast.LENGTH_LONG).show(); 
     for(Object o :productsGroupList) 
     { 
     Log.i("**APP_INFO", o.getClass().getName()); 
      HashMap map = (HashMap)o; 
      Log.i("Products Keys", "Keys"+map.keySet().toString()); 

     } 
    } 

} 
+0

http://inchoo.net/mobile-development/android-development/parsing-the-xmlrpc-webservice-response-in-android/comment-page-1/#comment-7295可能会有帮助。 – B00MER 2012-07-23 18:52:26

+0

@ B00MER我感谢您的回复..找到了一些对这类问题感兴趣的人.. !!! 我的问题是,该商店包含5个订单已经放置..但是当我试图获取他们,我没有得到的订单回复..它给我零作为回应..我不明白什么是错误的在我的电话..请帮助我。 – 2012-07-24 04:32:18

回答

1

我使用相同的代码,它为我工作。你有没有得到正确的会话ID?

也许在XMLRPC库中存在一些问题。 Here是XMLRPC库的两个更新类:XMLRPCSerializer.javaIXMLRPCSerializer.java。替换代码中的这两个文件,它将起作用。

String sessionId = ""; 
    client = new XMLRPCClient(URL); 
    try { 
     sessionId = (String)client.call("login", "tester", "tester"); 
     Log.d("MY_XMLRPC_SUCCESS_SESSION_ID", sessionId); 
    } 
    catch (XMLRPCException e) { 
     Log.d("MY_XMLRPCException_MSG", e.getMessage()); 
    } 

    Object[] customerOrderList = null;   
    try { 
     customerOrderList = (Object[])client.callEx("call", new Object[]{sessionId, "sales_order.list"}); 
    } catch (Exception e) { 
     Log.d("APP_INFO", "Exception: " + e.getMessage()); 
    } 
+0

是的,我有更新这些类,以便它将解析服务器的零响应 – 2012-07-24 05:31:23

+0

问题是,我得到无响应这是错误的..我应该得到销售订单列表。 – 2012-07-24 05:32:14

+0

有没有例外呢?或者它是给零值? – krushnakant 2012-07-24 05:36:17

相关问题