In my web service I have to recieve HTTP request over a URI of the form /a?b:
[OperationContract]
[WebInvoke(UriTemplate = "http://hostname/.../a?b")]
Stream MethodName(Stream stream);
without the typical ?b=c.
This works fine on my development computer, running Windows Vista and .NET 3.5 SP1 (and adding URLACLs). However when attempting to host this op on a machine with Windows Server 2003 (.NET 3.5 w/ no SP), I get an InvalidOperationException telling me the URI template is not valid and that each portion of the query string must be of the form ‘name=value’. If absolutely necessary, the client program can be changed to match a more compatible URI, but are there any remedies or work around for this?
You could try installing 3.5 SP1 on your windows server machine. SP1 has new functionality not just bug fixes.