Har*_*ary 10 java android xml-rpc magento
如何Single Call
使用Magento的XMLRPC获取Android 中多个产品的详细信息.我可以使用XMLRPC获取使用该功能的产品列表catalog_product.list
.
现在,我拥有所有产品的SKU ID.我可以使用该功能获取每个产品的媒体详细信息product_media.list
.
如果假设我有10个产品,我需要product_media.list
为每个产品调用10次方法,这需要很长时间.
那么,我怎样才能调用Android中的multiCall
功能Magento
.php
调用该multiCall
函数的许多教程已发布,但我无法在Android中模仿相同的内容.
所以请帮助我,如果你有类似的代码片段,可以让我理解multiCall
功能(对于Android),以便我可以进一步使用它.
谢谢.
PHP代码示例来自Josua Marcel Chrisano
答案:
$session = $client->call('login', array('apiUser', 'apiKey'));
$client->call('call', array($session,'somestuff.method', array('arg1', 'arg2', 'arg3')));
$client->call('call', array($session, 'somestuff.method', 'arg1'));
$client->call('call', array($session, 'somestuff.method'));
$client->call('multiCall',
array($session,
array(
array('somestuff.method', 'arg1'),
array('somestuff.method', array('arg1', 'arg2')),
array('somestuff.method')
)
)
);
Run Code Online (Sandbox Code Playgroud)
我想在Android中模仿上面的PHP代码来调用multiCall()
Magento 的功能.
经过长时间的研究,我得到了半途解决方案,调用该multiCall()
方法时没有任何方法Error
,但我仍然不知道如何获取变量中 的响应并使用它。Server
任何对此有了解的人都可以编辑我的答案,我将感谢他。
我Code
用过的是:
Object[] skuid=new Object[product_list.size()];
Object calling[]=new Object[product_list.size()];
for(int m=0;m<product_list.size();m++)
{
skuid[m]=new Object[]{product_list.get(m).getp_Sku()};
calling[m]=new Object[]{"catalog_product_attribute_media.list",skuid[m]};
}
try
{
client.callEx("multiCall",new Object[]{Utils.sessionId,calling});
}
catch (XMLRPCException e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我已经研究了 发布的答案 Iain
。