在android中使用soap时出现SocketTimeoutException

时间:2015-06-17 16:47:08

标签: android web-services soap timeoutexception

我在AsyncTask中使用此代码将字符串发送到我的Web服务。

    public String postData()
    { 
        String strRet = ""; 
        try {
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

            request.addProperty("val",dataField);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.dotNet = true; 
            envelope.setOutputSoapObject(request); 
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

            androidHttpTransport.call(SOAP_ACTION, envelope);
            //Get the response
            SoapPrimitive  response = (SoapPrimitive ) envelope.getResponse(); 
            strRet = response.toString();
        } catch (HttpResponseException e) { 
        } catch (XmlPullParserException e) {  
        } catch (SoapFault e) { 
        } catch (IOException e) { 
        } catch (Exception e) { 
        } 
        return strRet;
    }

我的网络服务是asp.net(vb.net) 我的asmx代码很简单:

  <WebMethod()> _
Public Function Save(ByVal val As String) As String
    Return "success";
End Function

当我的字符串很小时它可以正常工作,但是当我的字符串长度很大(例如3000个字符)时,它不起作用并在 IOException 中返回此异常

java.net.SocketTimeoutException

我如何解决这个问题?

0 个答案:

没有答案