0

Magentoストアのメソッドの呼び出し方法に問題はありませんsales_order.list。Magentoストアからの応答としてnilが表示されます。実際、ストアには5つの販売注文が含まれています。
私が使用しているコードは以下の通りです。
これは長引く問題なので、誰か助けてください。解決策を見つけることができません。よろしくお願いします。

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()); 

        }
    }

}
4

1 に答える 1

1

私は同じコードを使用していますが、それは私のために働いています。正しいセッションIDを取得しましたか?

XMLRPCライブラリに問題がある可能性があります。XMLRPCライブラリの2つの更新されたクラスは次のとおりですXMLRPCSerializer.java。 およびIXMLRPCSerializer.java。コード内のこれら2つのファイルを置き換えると、機能します。

    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());
    }
于 2012-07-24T05:29:16.897 に答える