Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
JekaGypson
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 8
#1

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

17.01.2014, 19:35. Просмотров 852. Ответов 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();
}
}

}

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

Андроид приложение для интернет магазина на движке Magento
Получил задание написать мобильное приложение для интернет магазина, который...

Мобильный клиент интернет магазина для Android API
Здравствуйте, Сразу скажу что ранее подобных API не создавал, поэтому не...

Формирование soap-запроса через SOAP::WSDL
Прошу помочь решить следующую проблему. Необходимо сформировать SOAP-запрос на...

При создании интернет-магазина не добавляет товар в корзину
Здравствуйте! Пишу интернет-магазин по видио-уроку. чтобы добавить товар в...

Как сделать корзину(shopping cart) для магазина?
Есть ли в PHP обьект, в который можно сохранять данные в виде ключ/значение...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2014, 19:35

Как добавить виджет через API?
Подскажите, как добавить виджет через API, сайт который предоставляет виджет...

Как вывести кнопки «Купить», «В корзину» для интернет магазина Битрикс?
Знаю, что в Битриксе можно вывести кнопки &quot;Купить&quot;, &quot;Отложить&quot;, &quot;Добавить в...

как реалиазовать корзину магазина - ajax обновление цен от кол-ва без обновления
Идея в следующем: имеется стандартная корзина покупателя для оформления ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru