2013-04-24 41 views
0

我正在创建Android应用程序,允许用户将产品添加到他的购物车并下订单。 我正在为此使用XMLRPC。Magento api cart_coupon.add不起作用

按照以下几个步骤我都做

1.cart.create 
2.cart_customer.set 
3.cart_customer.addresses 
4.cart_shipping.list 
5.cart_shipping.method 
6.cart_product.add 
7.cart_payment.list 
8.cart_payment.method 

所有的代码工作正常,直到cart_payment.method,但是当我打电话cart_coupon.add API,我得到异常

org.xmlpull.v1.XmlPullParserException: expected: START_TAG {null}methodResponse 
(position:START_TAG (empty) <br>@1:7 in [email protected]) 
at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046) 

我的代码是:

client = new XMLRPCClient(url); 
object = client.callEx("call", new Object[]{sessionId, 
        "cart_coupon.add",new Object[]{shoppingCardId,couponcode}}); 

其中url是有效的magento主机url,shoppingCardId是我从服务器获取的CardId。

异常是在类XMLRPCClient,在线

pullParser.require(XmlPullParser.START_TAG, null, Tag.METHOD_RESPONSE); 

我认为服务器空字符串和分析器回答没有找到启动标签。

如果我通过php脚本调用相同的API,cart_coupon.add和cart.order可以正常工作,我可以在服务器端获得订单ID并在订单编号 处看到订单已成功放置。 但是,当我遵循Android的相同的程序,我得到上述异常。
我该怎么办?

回答

0

我也有同样的问题。我绕过了最后一次调用XMLRPC并编写了php脚本来下订单。