2
響應我使用XMLRPC
使用multiCall()
函數來獲取細節作出請求到Magento
服務器。
我已經實現了成功在調用multiCall()
函數,因爲它不是結果爲任何Exception
。此處應該使用什麼數據類型來接受來自服務器
我使用Objects
到正在發送數據,當我使用Object
DataType
得到響應,它給人的Exception
像
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Caused by: java.lang.ClassCastException: [Ljava.lang.Object;
at org.xmlrpc.ProductService$doingBackTask.doInBackground(ProductService.java:94)
at org.xmlrpc.ProductService$doingBackTask.doInBackground(ProductService.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
,我用它來打電話是因爲遵循的代碼:
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]};
}
Object b[][];
try
{
// The Upcoming line causes Exception : java.lang.ClassCastException
b=(Object[][])client.callEx("multiCall",new Object[]{sessionId,calling});
}
catch (XMLRPCException e)
{
e.printStackTrace();
}
Aleks G ...我很幸運。事實上,我已經編輯它,並將其設置爲Object,就在您可能正在回答它的時候。我們都可能處於編輯模式。實際上,我嘗試了很多不同的在把問題放在這裏之前的事情。並且這是我嘗試過的最後一件事情。:))..其實multiCall()是Magento提供的API調用。我沒有Code.Call將返回產品圖像的URLS列表。但用Object替換它也會給我同樣的例外。 –
@HareshChaudhary請顯示'callEx'方法的代碼 - 這是負責打包結果的方法。 –
Aleks G:這是一個由Android-XMLRPC庫提供的內部方法......但我仍然想給出類似你問我的類..它在這裏..http://pastie.org/private/uidmu3pwrnhkmpc1tneq –