求助安卓使用KSOAP2出错!

hewei7173000 2014-08-15 10:05:20
程序启动后使用没有问题,接受数据也没有问题,但是!!!!机器搁置一下后程序也不退出,再扫描调用WEBSERVICE就会报错!!!!求大神帮忙看看 这是代码!
public String CallWebService (String MethodName, Map<String, String> Params)  {

// 1、指定webservice的命名空间和调用的方法名

SoapObject request = new SoapObject(Namespace, MethodName);

// 2、设置调用方法的参数值,如果没有参数,可以省略,
if (Params != null) {
Iterator iter = Params.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
request.addProperty((String) entry.getKey(),
(String) entry.getValue());
}
}
//3、生成调用Webservice方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER12);
envelope.bodyOut = request;
// c#写的应用程序必须加上这句
envelope.dotNet = true;
//envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(WEB_SERVICE_URL);
System.out.println("*ht*"+ht+"*envelope*"+envelope);
// 使用call方法调用WebService方法
try {
ht.call(null, envelope);
} catch (HttpResponseException e) {
e.printStackTrace();
Log.e("----发生错误1---", e.getMessage());

} catch (IOException e) {
e.printStackTrace();
Log.e("----发生错误2---", e.getMessage());
} catch (XmlPullParserException e) {
e.printStackTrace();
Log.e("----发生错误3---", e.getMessage());
}
try {
//final
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
if (result != null) {
Log.d("----收到的回复----", result.toString());
return result.toString();
}

} catch (SoapFault e) {
Log.e("----发生错误4---", e.getMessage());
e.printStackTrace();
}
return null;
}

报错是
08-15 09:58:38.030: V/EditText(5401): abortBroadcast simscan action now. path=/data/app/com.bang.testwebservicecall-1.apk
08-15 09:58:38.540: I/System.out(5401): 3-20140731143330970扫描配送单2800
08-15 09:58:38.550: I/System.out(5401): htorg.ksoap2.transport.HttpTransportSE@41a4da28envelopeorg.ksoap2.serialization.SoapSerializationEnvelope@419eb3e0
08-15 09:58:38.570: D/dalvikvm(5401): GC_FOR_ALLOC freed 30K, 14% free 11638K/13447K, paused 17ms, total 18ms
08-15 09:58:38.580: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): java.net.SocketException: sendto failed: ECONNRESET (Connection reset by peer)
08-15 09:58:38.640: W/System.err(5401): at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:506)
08-15 09:58:38.640: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): at libcore.io.IoBridge.sendto(IoBridge.java:475)
08-15 09:58:38.640: W/System.err(5401): at java.net.PlainSocketImpl.write(PlainSocketImpl.java:508)
08-15 09:58:38.640: W/System.err(5401): at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
08-15 09:58:38.640: W/System.err(5401): at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270)
08-15 09:58:38.640: W/System.err(5401): at java.io.BufferedOutputStream.flushInternal(BufferedOutputStream.java:185)
08-15 09:58:38.640: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:85)
08-15 09:58:38.640: W/System.err(5401): at libcore.net.http.FixedLengthOutputStream.flush(FixedLengthOutputStream.java:49)
08-15 09:58:38.640: W/IInputConnectionWrapper(5401): clearMetaKeyStates on inactive InputConnection
08-15 09:58:38.640: W/System.err(5401): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:188)
08-15 09:58:38.640: W/System.err(5401): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118)
08-15 09:58:38.640: W/System.err(5401): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113)
08-15 09:58:38.640: W/System.err(5401): at com.bang.testwebservicecall.WorkActivity.CallWebService(WorkActivity.java:262)
08-15 09:58:38.640: W/System.err(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:301)
08-15 09:58:38.640: W/System.err(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:1)
08-15 09:58:38.640: W/System.err(5401): at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-15 09:58:38.640: W/System.err(5401): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-15 09:58:38.640: W/System.err(5401): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-15 09:58:38.650: W/System.err(5401): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
08-15 09:58:38.650: W/System.err(5401): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-15 09:58:38.650: W/System.err(5401): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-15 09:58:38.650: W/System.err(5401): at java.lang.Thread.run(Thread.java:856)
08-15 09:58:38.650: W/System.err(5401): Caused by: libcore.io.ErrnoException: sendto failed: ECONNRESET (Connection reset by peer)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.Posix.sendtoBytes(Native Method)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.Posix.sendto(Posix.java:146)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
08-15 09:58:38.650: W/System.err(5401): at libcore.io.IoBridge.sendto(IoBridge.java:473)
08-15 09:58:38.650: W/System.err(5401): ... 19 more
08-15 09:58:38.650: E/----发生错误2---(5401): sendto failed: ECONNRESET (Connection reset by peer)
08-15 09:58:38.650: W/dalvikvm(5401): threadid=12: thread exiting with uncaught exception (group=0x40e50438)
08-15 09:58:38.660: E/AndroidRuntime(5401): FATAL EXCEPTION: AsyncTask #2
08-15 09:58:38.660: E/AndroidRuntime(5401): java.lang.RuntimeException: An error occured while executing doInBackground()
08-15 09:58:38.660: E/AndroidRuntime(5401): at android.os.AsyncTask$3.done(AsyncTask.java:299)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-15 09:58:38.660: E/AndroidRuntime(5401): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.lang.Thread.run(Thread.java:856)
08-15 09:58:38.660: E/AndroidRuntime(5401): Caused by: java.lang.NullPointerException
08-15 09:58:38.660: E/AndroidRuntime(5401): at org.ksoap2.serialization.SoapSerializationEnvelope.getResponse(SoapSerializationEnvelope.java:521)
08-15 09:58:38.660: E/AndroidRuntime(5401): at com.bang.testwebservicecall.WorkActivity.CallWebService(WorkActivity.java:276)
08-15 09:58:38.660: E/AndroidRuntime(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:301)
08-15 09:58:38.660: E/AndroidRuntime(5401): at com.bang.testwebservicecall.WorkActivity$6.doInBackground(WorkActivity.java:1)
08-15 09:58:38.660: E/AndroidRuntime(5401): at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-15 09:58:38.660: E/AndroidRuntime(5401): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-15 09:58:38.660: E/AndroidRuntime(5401): ... 5 more
...全文
999 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_34327666 2016-04-21
  • 打赏
  • 举报
回复
我也遇到类似问题 我的是在应用界面上可以一直访问 但是切换到桌面 调用3分钟左右 就开始拒绝访问 在重新打开应用界面又会好用 我用的小米手机 有哪位仁兄解决了 告诉我一下 QQ:1043708157
qbb375176424 2016-03-10
  • 打赏
  • 举报
回复
用2.6.4版本的ksoap2可以解决
yde 2015-08-28
  • 打赏
  • 举报
回复
lz解决了吗?我也遇到这个问题?跪求啊
yde 2015-04-15
  • 打赏
  • 举报
回复
我也出现了这个问题,请问lz解决了吗?跪求啊
本科学历文盲 2015-03-14
  • 打赏
  • 举报
回复
可能是服务器的原因吧,我的客户端原本是可行的,重新整理服务器后也出现这样的问题了
hewei7173000 2014-08-15
  • 打赏
  • 举报
回复
引用 1 楼 huxianbo0807 的回复:
个人经验,不建议使用Ksoap2进行Android与服务器的交互,经常会出现无法连接的情况;建议还是该用httpUrlConnection和HttpCliect的方法吧
其实软件打开使用没有问题。。。就是待机一会在用就会出错。。。
NilMeme 2014-08-15
  • 打赏
  • 举报
回复
1,2,3楼回答真实没什么意思,肯定是没有用过webservice的接口,你这个问题我也见过,当时最后发现的原因是调试的网络环境有问题,第二天,就没事了,我知道我的回答也没什么用,但是,这个的确有点怪,你换个网络环境试试吧
奋斗中的显摆 2014-08-15
  • 打赏
  • 举报
回复
httpClient的使用参考:http://ipjmc.iteye.com/blog/1577495
奋斗中的显摆 2014-08-15
  • 打赏
  • 举报
回复
个人经验,不建议使用Ksoap2进行Android与服务器的交互,经常会出现无法连接的情况;建议还是该用httpUrlConnection和HttpCliect的方法吧
sagittarius1988 2014-08-15
  • 打赏
  • 举报
回复
空指针了,你看看哪个地方被置空了

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧