[Mono-aspnet-list] Mono JsonSerializer exception parsing jQuery JSON
Uli Hertlein
uli at xdt.com.au
Mon May 9 21:12:51 EDT 2011
Hi guys,
I've been banging my head on this problem getting an ASP.Net/WCF/JSON application to work with Mono
2.10.2 for a while now, so any ideas are appreciated.
The problem is that jQuery is sending a POST with a JSON body that looks like:
{"hostUrl":"localhost"}
This is throwing an exception in xsp4 (with MONO_STRICT_MS_COMPLIANT=yes)
Exception Expected element was 'd', but the actual input element was 'hostUrl' in namespace ''
at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject (System.Xml.XmlReader
reader, Boolean verifyObjectName) [0x00000] in <filename unknown>:0
Sending the same request to .Net works.
The service interface/implementation looks like this:
[ServiceContract]
public interface IManagementService
{
[OperationContract]
MountPoint[] GetMountPoints(string hostUrl);
}
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class ManagementService : IManagementService
{
[WebInvoke(Method="POST", BodyStyle=WebMessageBodyStyle.WrappedRequest,
ResponseFormat=WebMessageFormat.Json)]
public MountPoint[] GetMountPoints(string hostUrl)
{
// ...
}
}
FWIW: When I do a manual GET request with the same parameters I get properly formatted JSON back
(with the 'd' container):
wget http://localhost:8080/Services/ManagementService.svc/GetMountPoints?hostUrl=localhost
{"d":[{"__type":"MountPoint:#Xdt.Management",...
--
Ulrich Hertlein
Research and Development mailto:uli at xdt.com.au
XDT Pty Ltd http://www.xdt.com.au
More information about the Mono-aspnet-list
mailing list