Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这里应该使用什么数据类型来接受来自服务器的响应_Java_Android_Object_Xml Rpc_Xmlrpclib - Fatal编程技术网

Java 这里应该使用什么数据类型来接受来自服务器的响应

Java 这里应该使用什么数据类型来接受来自服务器的响应,java,android,object,xml-rpc,xmlrpclib,Java,Android,Object,Xml Rpc,Xmlrpclib,我正在使用XMLRPC向Magento服务器发出请求,以使用multiCall()函数获取详细信息。 我在调用multiCall()函数时获得了成功,因为它不会导致任何异常 我使用对象发送数据,当我使用对象数据类型获取响应时,它会给出异常如下 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:200)

我正在使用
XMLRPC
Magento
服务器发出请求,以使用
multiCall()
函数获取详细信息。
我在调用
multiCall()
函数时获得了成功,因为它不会导致任何
异常

我使用
对象
发送数据
,当我使用
对象
数据类型
获取响应时,它会给出
异常
如下

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();
}
Object[]skuid=新对象[product_list.size()];
对象调用[]=新对象[product_list.size()];

对于(int m=0;m而言,异常情况几乎是不言自明的:
callEx
方法调用的结果是
java.lang.Object
类型,您试图将其强制转换为
String[][


显然,返回值的类型不是
String[][]
。你有这个
callEx
方法的源代码吗?如果有,我建议你深入研究它,看看它到底返回了什么。

异常情况几乎是不言自明的:调用
callEx
方法的结果是类型
java.lang.Object
,你正试图将它转换为
字符串[]


显然,返回值的类型不是
String[][]
。你有这个
callEx
方法的来源吗?如果有,我建议你深入研究它,看看它到底返回了什么。

Aleks G…我真倒霉..事实上,我已经编辑了它,并使它成为Object,就在你可能回答它的时候。我们都可能处于编辑模式。实际上,我之前尝试了很多不同的事情这是我在这里做的最后一件事:)实际上是多呼叫是Magento提供的API调用。我没有代码。我所做的调用将返回产品图像的URL列表。但是用对象替换它也会给我同样的例外情况。@HareshChaudhary请显示callEx方法的代码-这是负责打包结果的人。Aleks G:这是一个inbulit由Android XMLRPC库提供的方法…但我仍然想给出你问我的类的类似内容..在这里..@HareshChaudhary什么是
iXMLRPCSerializer
Object obj=iXMLRPCSerializer.deserialize(pullParser)?这个对象是什么类别的?“这是你自己的课吗?”“是的,我明白;特别是这一行产生的结果与你想要的不同Aleks G…我运气不好…实际上我已经编辑过它并将其设置为Object,就在那时,你可能正在回答它。我们都可能处于编辑模式。实际上,在把问题放在这里之前,我尝试了许多不同的事情。这是我在这里尝试的最后一件事…:)…实际上是多调用()是Magento提供的API调用。我没有代码。我所做的调用将返回产品图像的URL列表。但是用对象替换它也会给我同样的例外情况。@HareshChaudhary请显示callEx方法的代码-这是负责打包结果的人。Aleks G:这是一个inbulit由Android XMLRPC库提供的方法…但我仍然想给出你问我的类的类似内容..在这里..@HareshChaudhary什么是
iXMLRPCSerializer
Object obj=iXMLRPCSerializer.deserialize(pullParser)?这个对象是什么类别的?“这是你自己的课吗?”“是的,我明白;特别是这一行产生的结果与您想要的结果不同。