I have a ZSQL method that take 1 input category_id:
    select * from category_names where id=<dtml-sqlvar category_id type=int>
 
The folder containing the method has a property category_id.
 
If I leave the arguments feild of the SQL method blank then the method displays correctly. However if I put category_id in the arguments feild I get this error:
Zope has encountered an error while publishing this resource.

Error Type: Bad Request
Error Value: ['category_id']
Traceback (innermost last):
  File C:\Program Files\ecomdev\lib\python\ZPublisher\Publish.py, line 214, in publish_module
  File C:\Program Files\ecomdev\lib\python\ZPublisher\Publish.py, line 179, in publish
  File C:\Program Files\ecomdev\lib\python\Zope\__init__.py, line 202, in zpublisher_exception_hook
    (Object: ElementWithAttributes)
  File C:\Program Files\ecomdev\lib\python\ZPublisher\Publish.py, line 165, in publish
  File C:\Program Files\ecomdev\lib\python\ZPublisher\mapply.py, line 160, in mapply
    (Object: index_html)
  File C:\Program Files\ecomdev\lib\python\ZPublisher\Publish.py, line 102, in call_object
    (Object: index_html)
  File C:\Program Files\ecomdev\lib\python\OFS\DTMLDocument.py, line 166, in __call__
    (Object: index_html)
  File C:\Program Files\ecomdev\lib\python\DocumentTemplate\DT_String.py, line 502, in __call__
    (Object: index_html)
  File C:\Program Files\ecomdev\lib\python\OFS\DTMLDocument.py, line 162, in __call__
    (Object: home)
  File C:\Program Files\ecomdev\lib\python\DocumentTemplate\DT_String.py, line 502, in __call__
    (Object: home)
  File C:\Program Files\ecomdev\lib\python\DocumentTemplate\DT_In.py, line 630, in renderwob
    (Object: category_names)
  File C:\Program Files\ecomdev\lib\python\Shared\DC\ZRDB\DA.py, line 396, in __call__
    (Object: category_names)
  File C:\Program Files\ecomdev\lib\python\Shared\DC\ZRDB\Aqueduct.py, line 149, in _argdata
    (Object: category_names)
Bad Request: (see above)

In the ZSQL Method User guide it explains that if a variable is present in the arguments list then Zope looks at the HTTP request first and if it doesn't find the variable it looks at the properties of the method's containing folder. http://www.zope.org/Documentation/Guides/ZSQL-HTML/ZSQL.1.4.4.html#pgfld-915825

If I pass the variable category_id in a form or a URL then the SQL method displays correctly.

I appears to me (please prve me wrong) that Zope is not performing the second lookup. Has anyone else had a problem similar to this? Please let me know if I am not explaining it well enough.

Thanks in advance!