[Zope-dev] z3c.jsonrpc in GroupServer, a Zope 2 project
Bill Bushey
bill.bushey at e-democracy.org
Thu Aug 29 00:05:46 CEST 2013
Hello,
I am trying to use z3c.jsonrpc to write an endpoint in GroupServer (
http://groupserver.org/), an listserv/web forum hybrid built on Zope 2.
However, it seems that the JSON server is not handling application/json
requests, and I can not figure out why.
You can see the code for my attempted implementation at
https://source.iopen.net/groupserver/gs.group.member.invite.json/files/48e83035eee1a485e641a3290a295ed4d6355c58/gs/group/member/invite/json/.
Don't worry if you encounter an SSL certificate warning, that's pretty
normal.
api_rpc_test.py in particular contains the class that is my attempt to
implement a JSON-RPC endpoint. It started off as a zope.formlib form, so
there's still vestigial methods form that; invite is the only real method
of interest.
I'm able to start GroupServer with the gs.group.member.invite.json as it is
above. However, when I attempt to invoke the invite method via JSON-RPC:
curl -i -X POST -H "Content-Type: application/json" -H "Accept:
application/json'" -d '{"jsonrpc": "2.0", "method": "invite", "params":
{"foo": "bar"}, "id": 1}' http://localhost/groups/example_group/
the response I receive is the HTML I would receive from a standard request
to that address (note: /groups/example_group/ implements
gs.group.base.interfaces.IGSGroupMarker).
I've attempted to use zope.testbrowser as described at
https://pypi.python.org/pypi/z3c.jsonrpc/#testing with slight variations:
>>> from zope.testbrowser.testing import Browser
>>> browser = Browser()
>>> siteURL = 'http://samus/groups/example_group'
>>> browser.post(siteURL + '/content', "{'method':'hello', 'id':1}",
content_type='application/json')
The result of this is :zope.configuration.exceptions.ConfigurationError: No
registered publisher found for (POST/application/json)
api_rpc_test.py is definitely being read during the launch of GroupServer,
and the whole application is able to load. I'm also able to execute all of
the code in the section at
https://pypi.python.org/pypi/z3c.jsonrpc/#jsonrpc-proxy.
I'm not sure what else to do, nor am I entirely sure what is wrong. I'd
appreciate any help anybody can offer on this.
Thanks,
Bill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.zope.org/pipermail/zope-dev/attachments/20130828/f77f45c8/attachment.html>
More information about the Zope-Dev
mailing list