【发布时间】:2013-04-24 11:00:49
【问题描述】:
我正在创建允许用户将产品添加到他的购物车并下订单的 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 api 时出现异常
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 ,我可以看到订单已成功下单。
但是,当我从 Android 遵循相同的程序时,我得到了上述异常。
我该怎么办?
【问题讨论】:
标签: php android magento-1.7 xml-rpc