`
sparrow82
  • 浏览: 41092 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android 设置访问WebService的timeout

阅读更多
在android项目中,可以使用ksoap访问WebService。但是HttpTransportSE.java类中,没有支持设置连接超时的方法,这样在特定的情况下会很不方便。查了很多资料也没什么很好的方法,最后决定自己改源码了。
首先,在ServiceConnection.java接口中,新增一个方法:
public void setConnectTimeOut(int timeout);


然后在ServiceConnectionSE.java类中,实现setConnectTimeOut(int timeout)方法:
public void setConnectTimeOut(int timeout) {
    connection.setConnectTimeout(timeout);
}

实际上connection就是java.net.HttpURLConnection。

在HttpTransportSE类中新增了一个构造方法
public HttpTransportSE(String url, int timeout) throws IOException {
    super(url);
    connection = getServiceConnection();
    connection.setConnectTimeOut(timeout);
}
分享到:
评论
8 楼 igdxnui 2013-04-16  
     
7 楼 hejian_986 2012-01-04  
你好,我这边的源码无法编译,会报很多编译错误,很多类都找不到哦。
不知道你是怎么编译的啊?
6 楼 sdgszy2005 2011-12-26  
非常感谢! 
5 楼 liuqf 2011-10-20  
试用过了,不错!
4 楼 snowstone 2011-08-11  
sparrow82 写道
snowstone 写道
    你好,想请问你一个问题.
    最近一个项目使用到android开发一个应用,该应用需要与.net开发的WebService进行交互,然而在交互过程中,经常遇到一个问题,在Google、Baidu还有各技术论坛找了很久,可是一直找不到解决的办法.只知道是某种可能性引起的.
具体的异常是在 HttpTransportSE.call(String soapAction, SoapEnvelope envelope) throws IOException,XmlPullParserException)时,
抛出了XmlPullParserException异常。(注明:调用webservice的写法都是正确的,只要不连续调用webservice是不会出现这个情况的)
    一般情况下是不会产生的,只有在连续访问WebService时,或网络不流畅的情况下亦或者不同的手机类型中抛出该异常.
具体的日志信息如下:
       Issue 35:
unexpected type (position:END_DOCUMENT null@1:0 in java.io.InputStreamReader@43bed1d8)
     我猜想是,客户端频繁呼叫webservice,导致产生连接错误,因此Ksoap在解析XML时产生了异常。
     现在我在连续的调用websercie用流程中的每一个方法前加上了Thread.sleep(int time)将线程停止一段时间后,再访问,情况虽然有好转,但偶尔还是会抛出该异常。
    请问,你遇到过类似的问题没有?可有什么好的解决办法?

不好意思,没有遇到过。现在基本不用webservice了。全用Json了。效率高。

请问一下您现在使用的JSON,能告诉我一下思路吗?webservice端需要改的东西多吗?android 客户端,是否自己重新的连接的方法?
3 楼 sparrow82 2011-06-17  
snowstone 写道
    你好,想请问你一个问题.
    最近一个项目使用到android开发一个应用,该应用需要与.net开发的WebService进行交互,然而在交互过程中,经常遇到一个问题,在Google、Baidu还有各技术论坛找了很久,可是一直找不到解决的办法.只知道是某种可能性引起的.
具体的异常是在 HttpTransportSE.call(String soapAction, SoapEnvelope envelope) throws IOException,XmlPullParserException)时,
抛出了XmlPullParserException异常。(注明:调用webservice的写法都是正确的,只要不连续调用webservice是不会出现这个情况的)
    一般情况下是不会产生的,只有在连续访问WebService时,或网络不流畅的情况下亦或者不同的手机类型中抛出该异常.
具体的日志信息如下:
       Issue 35:
unexpected type (position:END_DOCUMENT null@1:0 in java.io.InputStreamReader@43bed1d8)
     我猜想是,客户端频繁呼叫webservice,导致产生连接错误,因此Ksoap在解析XML时产生了异常。
     现在我在连续的调用websercie用流程中的每一个方法前加上了Thread.sleep(int time)将线程停止一段时间后,再访问,情况虽然有好转,但偶尔还是会抛出该异常。
    请问,你遇到过类似的问题没有?可有什么好的解决办法?

不好意思,没有遇到过。现在基本不用webservice了。全用Json了。效率高。
2 楼 snowstone 2011-06-06  
    你好,想请问你一个问题.
    最近一个项目使用到android开发一个应用,该应用需要与.net开发的WebService进行交互,然而在交互过程中,经常遇到一个问题,在Google、Baidu还有各技术论坛找了很久,可是一直找不到解决的办法.只知道是某种可能性引起的.
具体的异常是在 HttpTransportSE.call(String soapAction, SoapEnvelope envelope) throws IOException,XmlPullParserException)时,
抛出了XmlPullParserException异常。(注明:调用webservice的写法都是正确的,只要不连续调用webservice是不会出现这个情况的)
    一般情况下是不会产生的,只有在连续访问WebService时,或网络不流畅的情况下亦或者不同的手机类型中抛出该异常.
具体的日志信息如下:
       Issue 35:
unexpected type (position:END_DOCUMENT null@1:0 in java.io.InputStreamReader@43bed1d8)
     我猜想是,客户端频繁呼叫webservice,导致产生连接错误,因此Ksoap在解析XML时产生了异常。
     现在我在连续的调用websercie用流程中的每一个方法前加上了Thread.sleep(int time)将线程停止一段时间后,再访问,情况虽然有好转,但偶尔还是会抛出该异常。
    请问,你遇到过类似的问题没有?可有什么好的解决办法?
1 楼 windloverain 2011-02-14  
 

相关推荐

    Android通过WebService访问SQLServer

    本教程主要探讨如何在Android应用中通过WebService访问SQLServer数据库,实现数据的增、删、查操作。以下是相关知识点的详细说明: 1. **Android平台与Web服务的交互**: Android系统提供了多种方式与远程服务器...

    Android平台之Webservice详解(超详细)

    Android平台之Webservice详解(超详细),Android平台之Webservice详解(超详细),Android平台之Webservice详解(超详细)

    delphi XE5 ANDROID平台 调用 webservice并访问操作MSSQL数据库

    Delphi XE5 Android 平台调用 Webservice 并访问操作 MSSQL 数据库 Delphi XE5 是一款功能强大且灵活的开发环境,为开发者提供了跨平台的开发体验。在 Android 平台上,Delphi XE5 提供了强大的支持,允许开发者...

    在Android中访问WebService接口

    ### 在Android中访问WebService接口 #### 一、引言 随着移动互联网的发展,越来越多的应用程序需要与后端服务器进行交互来获取数据或提供服务。在Android应用开发中,访问WebService接口是一种常见的通信方式。...

    android 访问webService Demo

    在这个“android 访问webService Demo”中,我们将探讨如何在Android应用中集成和使用Web Service,尤其适合初学者快速上手。 一、理解Web Service Web Service是一种跨平台的通信机制,它允许不同的应用程序通过...

    android开发访问webservice类

    android开发访问webservice类 返回值 bool、int、Object

    android 调用.net webservice

    ### Android调用.NET WebService详解 #### 一、概述 在Android开发中,与服务器进行交互是必不可少的一个环节。常见的交互方式包括HTTP请求、RESTful API等,而WebService作为一种传统但依然广泛使用的通信协议,...

    Android通过webservice连接Sqlserver实例

    本文将详细介绍如何在Android应用中利用WebService接口连接到SQLServer数据库,实现数据的增删改查操作。 首先,理解概念: 1. Android:Android是一种开源操作系统,主要用于移动设备,如智能手机和平板电脑。 2. ...

    Android NanoHttpd搭建webservice

    这就涉及到如何利用NanoHttpd在Android上搭建一个微型的webservice。NanoHttpd是一个轻量级、易于集成的HTTP服务器库,非常适合在移动设备上使用。 首先,我们来深入理解`Android NanoHttpd`的核心概念。NanoHttpd...

    ANDROID中使用WEBSERVICE验证用户登录的示例

    在Android开发中,为了实现应用程序与服务器之间的数据交互,经常使用WebService技术进行用户验证,例如登录功能。这里的示例将详细介绍如何在Android应用中通过WebService接口验证用户登录信息。主要涉及的技术点...

    android webserviceandroid webserviceandroid

    ### Android WebService应用详解 #### 一、概述 在Android开发中,客户端应用程序与服务器端进行数据交互是非常常见的需求之一。这种交互可以通过多种方式实现,其中一种常用的方式就是使用WebService。WebService...

    Android访问webservice

    在Android开发中,访问Web Service是一项常见的任务,主要用于实现客户端与服务器端的数据交互。Web Service是一种基于网络的、独立于平台的应用程序接口,它能够通过HTTP协议进行通信,允许不同系统间的互操作性。...

    Android客户端调用webService上传图片到服务器

    在Android客户端调用Web Service上传图片到服务器的过程中,主要涉及以下几个关键知识点: 1. **文件I/O操作**:客户端首先需要从SD卡或其他存储位置读取图片文件。这里使用`FileInputStream`读取图片文件,然后...

    Android平台调用WebService详解

    ### Android平台调用WebService详解 #### 一、前言与背景 随着移动互联网技术的快速发展,Web服务在Android平台的应用越来越广泛。为了更好地利用现有的Web服务资源,Android开发者需要掌握如何在自己的应用中调用...

    java android 调用webservice

    本篇将详细讲解如何在Android应用中使用Java调用Webservice。 一、理解Web服务 Web服务是一种基于互联网的、标准化的服务交互方式,它允许不同系统之间的应用程序共享数据和功能。常见的Web服务有SOAP(Simple ...

    Android axis调用Webservice

    在Android开发中,有时我们需要与远程服务器进行交互,获取或发送数据。Web Service是一种常见的通信方式,而Axis2是Apache组织提供的一款强大的Web Service框架,它支持SOAP和RESTful服务。本文将详细介绍如何在...

    Android开发之WebService介绍

    【Android开发之WebService介绍】 在Android开发中,与远程服务器进行数据交互是常见的需求,而WebService就是实现这种交互的一种方式。WebService是一种基于网络的、分布式的模块化组件,旨在促进不同系统之间的互...

    android平台调用webservice

    本主题将深入探讨如何在Android应用中调用Web服务,特别是基于SOAP协议的Web服务,即“Android与服务器端数据交互(基于SOAP协议整合android+webservice)”。 SOAP(Simple Object Access Protocol)是一种轻量级...

    Android访问.NET的WebService

    本示例项目“Android访问.NET的WebService”提供了一种方法,让Android客户端能够调用.NET Web服务并处理返回的数据。以下是这个示例的关键知识点和实现步骤。 1. **SOAP协议**:Android通过SOAP(Simple Object ...

Global site tag (gtag.js) - Google Analytics