supposedly you have call() and save_message() in default.py The url to call the webservice would then be /appname/default/call/jsonrpc .
On Wednesday, November 7, 2012 9:31:51 PM UTC+1, Mike Anson wrote: > > Thanks very much Niphlod. I am much closer now.. > > However I am getting this response: > {"version": "1.1", "id": 1, "error": {"message": "method \"save_message\" > does not exist", "code": 100, "name": "JSONRPCError"}} > > from this script: > url="https://domain.net:8000/ircmessage/rpc/call/jsonrpc" > curl -v -k -X POST -H "Content-Type: application/json" -d '{"id": 1, > "method": "save_message", "params": { "message": "mymessage", "uid" : > "myemail@localhost"}}' $url > > I guess my url is probably incorrect. > > Cheers again Niphlod. > > On Wednesday, 7 November 2012 15:16:42 UTC-5, Niphlod wrote: >> >> Yes, but without that I wouldn't have been able to tell you: "Follow the >> protocol, Mike!" :P >> >> You are publishing a service behind the jsonrpc protocol, but you surely >> missed on how to interact with them ^_^ >> >> Every request per the spec has to carry an id , a method and a params >> value in the json body of the request. >> >> So, you are trying to fire function that needs 'message' and 'uid' >> parameters, and the function is called 'save_message' >> The following json must be POSTed (and using single quotes will save you >> lots of backslashes if you're using cURL) >> >> '{"id": 1, "method": "save_message", "params": { "message": "mymessage", >> "uid" : "myemail@localhost"}}' >> >> So, the complete cmdline is >> curl -v -k -X POST -H "Content-Type: application/json" -d '{"id": 1, >> "method": "save_message", "params": { "message": "mymessage", "uid" : >> "myemail@localhost"}}' $url >> >> This will generate a response like this >> {"error": null, "version": "1.1", "id": 1, "result": {"status": "saved"}} >> >> The 'id' is the one you sent (so, if you POST id=2, the response will >> hold 2, and so on). In "result" you get what you return in the controller. >> >> >> --