Once upon a time I reported how you can offer HTTP-based Web Services on Windows CE-powered devices by leveraging the .NET Compact Framework. Now I was contacted by a reader of this blog who found a bug in the mobile web server mentioned and introduced in this MSDN article.
Project CompactListener
Class HttpRequestExtractor
Method ReadAvailableData
Failure read += ns.Read(buffer, 0, 1024);
Fixed read += ns.Read(buffer, read, 1024);
The problem is that big requests lead to an error as all previously read fragments got overwritten.
As a tip for debugging SOAP requests from client applications calling into the mobile web server I suggest to disable the default behavior when F5'ing into the Web Service client. The VsDebuggerCausalityData HTTP header gets added to the request and may blow the server (it is a looooong header) - as it does with the mobile web servicer from the article.
<configuration>
<system.diagnostics>
<switches>
<add name="Remote.Disable"
value="1" />
</switches>
</system.diagnostics>
</configuration>
Many thanks for reporting this goes to Sven.Hubert@aitag.com. Contact him for details.
Comments