E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: com.uhf200.demo, PID: 7351
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask
3.
d
o
n
e
(
A
s
y
n
c
T
a
s
k
.
j
a
v
a
:
318
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
F
u
t
u
r
e
T
a
s
k
.
f
i
n
i
s
h
C
o
m
p
l
e
t
i
o
n
(
F
u
t
u
r
e
T
a
s
k
.
j
a
v
a
:
354
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
F
u
t
u
r
e
T
a
s
k
.
s
e
t
E
x
c
e
p
t
i
o
n
(
F
u
t
u
r
e
T
a
s
k
.
j
a
v
a
:
223
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
F
u
t
u
r
e
T
a
s
k
.
r
u
n
(
F
u
t
u
r
e
T
a
s
k
.
j
a
v
a
:
242
)
a
t
a
n
d
r
o
i
d
.
o
s
.
A
s
y
n
c
T
a
s
k
3.done(AsyncTask.java:318) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) at java.util.concurrent.FutureTask.setException(FutureTask.java:223) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask
3.done(AsyncTask.java:318)atjava.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)atjava.util.concurrent.FutureTask.setException(FutureTask.java:223)atjava.util.concurrent.FutureTask.run(FutureTask.java:242)atandroid.os.AsyncTaskSerialExecutor
1.
r
u
n
(
A
s
y
n
c
T
a
s
k
.
j
a
v
a
:
243
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
r
u
n
W
o
r
k
e
r
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
1133
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
1.run(AsyncTask.java:243) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor
1.run(AsyncTask.java:243)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject
at com.uhf200.demo.HomeActivity
U
p
l
o
a
d
S
t
o
c
k
l
i
s
t
T
a
s
k
.
d
o
I
n
B
a
c
k
g
r
o
u
n
d
(
H
o
m
e
A
c
t
i
v
i
t
y
.
j
a
v
a
:
792
)
a
t
c
o
m
.
u
h
f
200.
d
e
m
o
.
H
o
m
e
A
c
t
i
v
i
t
y
UploadStocklistTask.doInBackground(HomeActivity.java:792) at com.uhf200.demo.HomeActivity
UploadStocklistTask.doInBackground(HomeActivity.java:792)atcom.uhf200.demo.HomeActivityUploadStocklistTask.doInBackground(HomeActivity.java:655)
at android.os.AsyncTask
2.
c
a
l
l
(
A
s
y
n
c
T
a
s
k
.
j
a
v
a
:
304
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
F
u
t
u
r
e
T
a
s
k
.
r
u
n
(
F
u
t
u
r
e
T
a
s
k
.
j
a
v
a
:
237
)
a
t
a
n
d
r
o
i
d
.
o
s
.
A
s
y
n
c
T
a
s
k
2.call(AsyncTask.java:304) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask
2.call(AsyncTask.java:304)atjava.util.concurrent.FutureTask.run(FutureTask.java:237)atandroid.os.AsyncTaskSerialExecutor
1.
r
u
n
(
A
s
y
n
c
T
a
s
k
.
j
a
v
a
:
243
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
r
u
n
W
o
r
k
e
r
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
1133
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
1.run(AsyncTask.java:243) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor
1.run(AsyncTask.java:243)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
解决方法:
把代码: SoapObject result2=(SoapObject)envelop.bodyIn;
修改为:
if(envelop.bodyIn instanceof SoapFault){
Log.d("debug","登录服务端返回数据有误");
}else {
SoapObject result=(SoapObject)envelop.bodyIn;
resultstr=result.getProperty(0).toString();
Log.d("debug","登录服务端返回数据"+resultstr);
if(resultstr.equals("true")){
countsuccess++;
}
}