415 exceção Cherrypy webservice

Estou tentando criar um serviço da web Cherrypy / Python. Eu já passo o dia inteiro descobrindo como tornar possível uma solicitação de ajax entre domínios. Finalmente está funcionando, mas agora tenho a próxima edição. Acho que já conheço a solução, mas não sei como implementá-la. O problema é que, quando estou enviando a solicitação ajax, o servidor Cherrypy responde com:

415 Unsupported Media Type

Expected an entity of content type application/json, text/javascript

Traceback (most recent call last):  File "/Library/Python/2.7/site-packages/cherrypy/_cprequest.py", line 663, in respond    self.body.process()  File "/Library/Python/2.7/site-packages/cherrypy/_cpreqbody.py", line 996, in process    super(RequestBody, self).process()  File "/Library/Python/2.7/site-packages/cherrypy/_cpreqbody.py", line 538, in process    self.default_proc()  File "/Library/Python/2.7/site-packages/cherrypy/_cperror.py", line 411, in __call__    raise selfHTTPError: (415, u'Expected an entity of content type application/json, text/javascript')    

A solução que encontrei e tentando testar está adicionando esta linha à configuração:

'tools.json_in.force': False

Então, eu tentei implementá-lo neste código:

import cherrypy
import json
import sys

class RelatedDocuments:

def index(self):
    return "Hello World!"

@cherrypy.tools.json_out()
@cherrypy.tools.json_in()
def findRelated(self, **raw):
    #Get JSON message form request
    request = cherrypy.request.json
    result = []

    #SOME CODE...

    return result;

# Expose the index method through the web. CherryPy will never
# publish methods that don't have the exposed attribute set to True.
index.exposed = True
findRelated.exposed = True

def CORS():
    cherrypy.response.headers["Access-Control-Allow-Origin"] = "*"

import os.path
tutconf = os.path.join(os.path.dirname(__file__), 'webserver.conf')
config = {
    'global': {
        'server.socket_host':'127.0.0.1',
        'server.socket_port': 8080,
        'log.error_file' : 'Web.log',
        'log.access_file' : 'Access.log'
    },
    '/': {
        'tools.CORS.on': True
    }
}

if __name__ == '__main__':
    cherrypy.tools.CORS = cherrypy.Tool('before_finalize', CORS)

    cherrypy.quickstart(RelatedDocuments(),config=config)

Eu adicionei a linha de configuração sob a linha tools.CORS.on, mas isso não funcionou. Em seguida, tentei isso:

cherrypy.config.update({
    'tools.json_in.force': False,
});

Não funcionou eiter..next eu tentei implementar isso logo acima do método findRelated:

@cherrypy.config(**{'tools.json_in.force': False})

Todas as implementações me deram um erro de 500, eu realmente aprecio isso se alguém puder me ajudar. Desde já, obrigado!

questionAnswers(2)

yourAnswerToTheQuestion