我在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
我如何解决这个问题?