Oct 19, 2012

[SOLVED] openerp 6.1.1 "No handler found."

2 days working on this error, i do solved this error,

No handler found

message was store on wsgi/core.py on application function.


def application(environ, start_response):
    """ WSGI entry point."""

    # Try all handlers until one returns some result (i.e. not None).
    wsgi_handlers = [
        wsgi_xmlrpc_1,
        wsgi_xmlrpc,
        wsgi_jsonrpc,
        wsgi_xmlrpc_legacy,
        wsgi_webdav
        ] + module_handlers
    for handler in wsgi_handlers:
        result = handler(environ, start_response)
        if result is None:
            continue
        return result

    # We never returned from the loop.
    response = 'No handler found.\n'
    start_response('404 Not Found', [('Content-Type', 'text/plain'), ('Content-Length', str(len(response)))])
    return [response]

# The WSGI server, started by start_server(), stopped by stop_server().
httpd = None


Since all basic module was loaded on memory by proxing all processing, my first diagones pointed on basic-modules will all of its heritance.

Yes, thats true, i do big modification on sale, pricelist, etc... (because i can not inherit it perfectly).

because it will be loaded to memory, for all function should be have default values, even by None values.

on my case, i found one parameter which is none of default values :


def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
            uom=False, qty_uos=0, uos=False, name='', partner_id=False,
            lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, base_location_id=1, context=None):

if i make


def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
            uom=False, qty_uos=0, uos=False, name='', partner_id=False,
            lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, base_location_id, context=None):

then it will be "No handler found"

So: Always assign default value on your function parameters.

.
2 days working on this error, i do solved this error,

No handler found

message was store on wsgi/core.py on application function.


def application(environ, start_response):
    """ WSGI entry point."""

    # Try all handlers until one returns some result (i.e. not None).
    wsgi_handlers = [
        wsgi_xmlrpc_1,
        wsgi_xmlrpc,
        wsgi_jsonrpc,
        wsgi_xmlrpc_legacy,
        wsgi_webdav
        ] + module_handlers
    for handler in wsgi_handlers:
        result = handler(environ, start_response)
        if result is None:
            continue
        return result

    # We never returned from the loop.
    response = 'No handler found.\n'
    start_response('404 Not Found', [('Content-Type', 'text/plain'), ('Content-Length', str(len(response)))])
    return [response]

# The WSGI server, started by start_server(), stopped by stop_server().
httpd = None


Since all basic module was loaded on memory by proxing all processing, my first diagones pointed on basic-modules will all of its heritance.

Yes, thats true, i do big modification on sale, pricelist, etc... (because i can not inherit it perfectly).

because it will be loaded to memory, for all function should be have default values, even by None values.

on my case, i found one parameter which is none of default values :


def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
            uom=False, qty_uos=0, uos=False, name='', partner_id=False,
            lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, base_location_id=1, context=None):

if i make


def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
            uom=False, qty_uos=0, uos=False, name='', partner_id=False,
            lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, base_location_id, context=None):

then it will be "No handler found"

So: Always assign default value on your function parameters.

No comments:

Post a Comment