c# 4.0 - What does my WCF service expect the request data to look like? -
i've got wcf-hosted service right self-hosted , defined this:
[operationcontract] [webinvoke(requestformat = webmessageformat.json, method = "put", uritemplate = "/device")] void updatedevicelevel(zdevice device); the zdevice class looks this:
public class zdevice { public bool? newpowerstate { get; set; } public int nodeid {get; set;} } i have simple mac client consumes service using http post. posts {"newlevel":27,"nodeid":6} \devices url , .net magically stuffs values zdevice object me. here.
now however, need add basic security mix. i've done adding new parameter , "requestwrapping" method call:
[operationcontract] [webinvoke(requestformat = webmessageformat.json, bodystyle=webmessagebodystyle.wrappedrequest, method = "put", uritemplate = "/device")] void updatedevicelevel(string password, zdevice device); what i'm trying figure out syntax server expecting consuming clients. i'd hoped posting in {"password":"somepwd", "newlevel":27,"nodeid":6} work, .net no longer able "deserialize" zdevice object did before.
anyone got suggestions me?
thanks
it should this:
{"password":"somepwd", "device": {"newlevel":27,"nodeid":6}} each property on json object has value; , in case of device it's new object.
note in zdevice class called newpowerstate, in json calling newlevel. in class it's bool, in json assigning int. isn't matching up.
based on c#, i'd expect this:
{"password":"somepwd", "device": {"newpowerstate":true,"nodeid":6}} the property names in json object should match parameter / property names in c#.
Comments
Post a Comment