I have the same problem! The exceptions occur almost randomly.
After I catch the Exception I can call the webservice again and it works.
I am using a GPRS-Connection to call a Webservice (Network provider is One in Austria).
The Webservice is written in ASP.NET 2 and we are transferring DataSets.
The Compact-Framework Client (a QTek Smartphone with Windows Mobile 5) sends a DataSet with some data.
I discovered that it does not depend on the size of the DataSet... I managed to send a DataSet with 500 rows (takes some time... about 2 minutes), while sending a DataSet with 1-3 rows takes 4-7 seconds.
The Webservice is called asynchronously, but the error also occurs when calling it synchronously. The Webservice is deployed to an IIS on a Windows 2003 Server - but the error also occured with Windows 2000.
I switched to CF.NET 2 today to get some more debugging info (and wrote them to a logfile), here is what I have got:
WebException (after 1 seconds):
Message=Von der Ubertragungsverbindung konnen keine Daten gelesen werden (* translation: Unable to read data from the transport connection). || Response= || Status=ReceiveFailure
WebException.stacktrace:
at System.Net.HttpWebRequest.finishGetResponse()
at System.Net.HttpWebRequest.GetResponse()
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse()
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse()
at System.Web.Services.Protocols.SoapHttpClientProtocol.doInvoke()
at System.Web.Services.Protocols.SoapHttpClientProtocol.doAsyncInvoke()
at WorkItem.doWork()
at System.Threading.Timer.ring()
WebException.InnerException: System.Net.Sockets.SocketException: Unbekannter Fehler (* translation: Unknown Error) (0x0).
--->
SocketException: ErrorCode=0,Message=Unbekannter Fehler (* translation: Unknown Error)(0x0).,NativeErrorCode=0
WebException.InnerException.stacktrace:
at System.Net.HttpWebRequest.fillBuffer()
at System.Net.HttpWebRequest.getLine()
at System.Net.HttpWebRequest.parseResponse()
at System.Net.HttpWebRequest.startReceiving()
at System.Net.Connection.startReceiving()
at WorkItem.doWork()
at System.Threading.Timer.ring()
I am using the GPS.NET Library (Geoframework) to connect to a Bluetooth GPS Device and I actually have the feeling that it has something to do with the Bluetooth Connection (or the GPS.NET Library itself).
I also took a look at the webservice: the log files did not report any error. Furthermore, I took a look at the IIS Log Files - no error, no request from the mobile applicaiton.
I installed a network-sniffer on the server to see if there is any kind of request from the mobile phone.
If you need more information, please let me know asap!
edit: I also found this topic:
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1571396&SiteID=1
Seems to be the same problem!
edit2: The exception also occurs with CF2 SP2