Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
JekaGypson
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 8
#1

Через SOAP API Magento добавить в корзину магазина продукт - Android

17.01.2014, 19:35. Просмотров 755. Ответов 0
Метки нет (Все метки)

Нужно в интернет магазине, созданного на движке магента, через Андроид-приложение добавить в корзину товар этого могазина. Это для того, чтобы потом можно было оформить заказ на этот товар. Есть у меня код, через который мне удается залогиниться и создать пустую корзину, получив номер корзины, но добавить к ней товар не удается. В логах выдает такую ​​ошибку: System.err "java.lang.RuntimeException: Cannot serialize: {links=, bundle_option_qty=, bundle_option=, qty=1, sku=324, product_id=5, options=}", и дальше: "at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:629)"....
Вот сам код (пока пишу как тест под Android 2.3.3, чтобы не иметь дело с потоками; для формирования запросов использую библиотеку ksoap2):

private static final String NAMESPACE = "urn:Magento";
private static final String URL = "http://xxxxxxx.com/api/v2_soap/";

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

try {
SoapSerializationEnvelope env = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
env.dotNet = false;
env.xsd = SoapSerializationEnvelope.XSD;
env.enc = SoapSerializationEnvelope.ENC;
SoapObject request = new SoapObject(NAMESPACE, "login");

request.addProperty("username", "xxxxxxx");
request.addProperty("apiKey", "yyyyyyyy");
env.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call("", env);
Object result = env.getResponse();
Log.d("sessionId", result.toString());

String sessionId = result.toString();
request = new SoapObject(NAMESPACE, "shoppingCartCreate");
request.addProperty("sessionId",sessionId);
env.setOutputSoapObject(request);
androidHttpTransport.call("", env);
result = env.getResponse();
Log.d("shoppingCartId", result.toString());

request = new SoapObject(NAMESPACE, "shoppingCartProductAdd");
request.addProperty("sessionId",sessionId);
request.addProperty("quoteId",result.toString());

Hashtable <String, String> productTab = new Hashtable <String, String>();

productTab.put("product_id","5");
productTab.put("sku","324");
productTab.put("qty","1");
productTab.put("options","");
productTab.put("bundle_option","");
productTab.put("bundle_option_qty","");
productTab.put("links", "");

request.addProperty("productsData", productTab);
env.setOutputSoapObject(request);
androidHttpTransport.call("", env);
result = env.getResponse();
Log.d("shoppingCartProductAdd", result.toString());

} catch (Exception e) {
e.printStackTrace();
}
}

}

Помогите, пожалуйста, разобраться что не так у меня с кодом, точнее с той частью, где добоаляю товар в корзину.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2014, 19:35     Через SOAP API Magento добавить в корзину магазина продукт
Посмотрите здесь:

Android общий API
Андроид приложение для интернет магазина на движке Magento Android
Android Как добавить библиотеки Google API в мой проект?
Запрос по SOAP Android
Android Андроид-приложение для интернет-магазина. С чего начать?
Android Мобильный клиент интернет магазина для Android API
Android SOAP
Android Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)
Передать файл через socket или через ftp api Android
Android Мобильный клиент для интернет - магазина
API 24 и RadioButton Android
Пример просто магазина Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru