3
我嘗試過很多種不同的方法,使用XMLRPC
來調用「cart_paymant.method
」API
的Magento
,但始終失敗。如何在Android中使用XMLRPC調用magento的「cart_payment.method」API
下面是我用來稱之爲的代碼。
Map<String,String> map = new HashMap<String,String>();
map.put("method","checkmo");
//map.put("po_number",null);
//map.put("cc_cid", null);
//map.put("cc_owner",null);
//map.put("cc_number",null);
//map.put("cc_type",null);
//map.put("cc_exp_year",null);
//map.put("cc_exp_month",null);
Object[] paymentMethod=new Object [] {map};
Object param1[]=new Object[]{shoppingCartId,paymentMethod};
Object param2[]=new Object[]{Utils.sessionId,"cart_payment.method",param1};
try
{
Boolean ans=(Boolean)client.callEx("call", param2);
Log.i("Payment Method Setting : ", ""+ans);
}
catch (XMLRPCException e) {
e.printStackTrace();
return 0;
}
例外,我得到:
java.io.IOException: Cannot serialize null
at org.cws.magentoAnd.xmlrpc.XMLRPCSerializer.serialize(XMLRPCSerializer.java:99)
at org.cws.magentoAnd.xmlrpc.XMLRPCSerializer.serialize(XMLRPCSerializer.java:89)
at org.cws.magentoAnd.xmlrpc.XMLRPCSerializer.serialize(XMLRPCSerializer.java:72)
at org.cws.magentoAnd.xmlrpc.XMLRPCSerializer.serialize(XMLRPCSerializer.java:72)
at org.cws.magentoAnd.xmlrpc.XMLRPCCommon.serializeParams(XMLRPCCommon.java:36)
at org.cws.magentoAnd.xmlrpc.XMLRPCClient.methodCall(XMLRPCClient.java:253)
at org.cws.magentoAnd.xmlrpc.XMLRPCClient.callEx(XMLRPCClient.java:174)
僅供參考,我也張貼提供基於Web的PHP代碼,調用API。
$paymentMethod = array(
「method」 => 「checkmo」
);
$resultPaymentMethod = $proxy->call(
$sessionId,
「cart_payment.method」,
array(
$shoppingCartId,
$paymentMethod
)
);
是shoppingCartId初始化的? –
@BryanGlazer:是的,其實這是一個全局變量..我事先檢查過,沒有一個變量爲空。 –