: > We should probably separate business-related end-user errors (such as when : > user submits empty query) and make it XML-like (instead of HTTP 400)
I want to make it more clear... we need to separate errors (end-user mistakes) from application bugs (exceptions) and from fatal errors (HTTP Transport, TCP/IP, CPU, etc.) In my simplistic Cocoon-based form, end-user gets HTTP 400 when Cocoon tries to query http://localhost:8983/solr/select/?q= (empty query; but I have workaround in query.js JavaScript); obviously this is not a bug in SOLR neither it is an unrecoverable system error nor any kind of HTTP errors... End-user (in this case Cocoon's Pipeline) should be notified about incorrect request parameter (empty parameter) via standardised transport protocol (XML...) The transport is 'XML over HTTP', it could even be 'XML over SNMP' and we should not use HTTP 400 case of incorrect request (protocol?) parameters... Some useful info at http://mindview.net/Etc/Discussions/CheckedExceptions (Bruce Eckel, Thinking in Java) Thanks,