我正在创建Android应用程序,允许用户将产品添加到他的购物车和下订单。为此,我使用了XMLRPC。
遵循我所做的步骤
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应用程序接口时,我得到了异常
org.xmlpull.v1.XmlPullParserException: expected: START_TAG {null}methodResponse
(position:START_TAG (empty) <br>@1:7 in java.io.InputStreamReader@4151b450)
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,并在服务器端的sales->orders中获得订单id,我可以看到订单已经成功下单。但是当我在Android中执行相同的过程时,我得到了上面描述的异常。
我该怎么办?
发布于 2013-05-20 14:52:09
我也遇到了同样的问题。我在最后一次调用时绕过了XMLRPC,并编写了php脚本来下订单。
https://stackoverflow.com/questions/16190261
复制相似问题