[coldbox-4.0.0-rc+00002-201410230827] HandlerService.EventHandlerNotRegisteredException

> We’ll make that jump, and see if it makes a difference.

Keep us updated. Also, a couple things I just noticed after reviewing this thread again;

  1. Turn off “Report Execution Times” under debugging in your CF Admin. That setting is a dog and will drag down your app’s performance
  2. You never actually provided us with a full stack trace of the original event handler not registered error. Can you do that?
    Thanks!

~Brad

Success… almost.

I spun up the new CF11 (Update 2) server, and under IIS 7.5, I now have the stock BE framework install running the stock BE app. The only problem is that I have to hit index.cfm explicitly, and can’t rely on the IIS default document, ending the URL with the app directory. If I do that, I get the same “index is not a valid registered event” exception.

To be clear…

This works: http://hac-cf11.revagent.com/ColdBox-Chris/index.cfm

This doesn’t: http://hac-cf11.revagent.com/ColdBox-Chris/

And now, we’ll see if the output from BugReport.cfm pastes into this message cleanly…

Oopsy! Something went wrong!Event: index

Routed URL: index/
Layout: N/A (Module: )
View: N/A
Timestamp: 11/11/2014 04:21:42 PM

Do you have some kind of URL rewriting engine configured in IIS? I don’t understand why your routed URL is index/ You also shouldn’t have to specify index.cfm if it is your default document, which it is by default.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

We definitely DO NOT have any rewriting configured or turned on. It’s a brand new, vanilla IIS and CF11 install. Nothing tweaked. We don’t understand why Routed URL shows as index/ either.

-Chris

Then this is wrong

http://hac-cf11.revagent.com/ColdBox-Chris/index.cfm

it should be

http://hac-cf11.revagent.com/index.cfm/ColdBox-Chris

Actually Andrew, ColdBox-Chris is not a handler, or route, it’s the folder that the ColdBox app is living in. i.e, the app mapping.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

What if you create a new folder and out nothing but an empty Application.cfc in it and a index.cfm and navigate to that folder in the URL. What loads? Dump out the cgi scope in your onRequestStart() if necessary to debug. That will tell us if IIS is serving index.cfm with an empty path_info by default.

Also, I don’t remember if we’ve covered this or not, but uninstall and reinstall your IIS web connectors. ← important.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Oh, it is too…

Just out of curiosity, can you re-run the web configuration tools and try to reset the connectors for ColdFusion. It maybe that the default cfml documents didn’t get set up.

I’ll give these suggestions a try. To be precise, what constitutes an “empty” Application.cfc? Nothing but “component { }” ? What if I did the CGI dump in index.cfm? Same diff?

-Chris

> Nothing but "component { }

Yes

> What if I did the CGI dump in index.cfm

Well, I didn’t suggest that because you told us IIS isn’t serving index.cfm as the default document, so the purpose of the test is to NOT give a document to IIS and see what it asks ColdFusion for. The only way to do that would be to capture it in Application.cfc.

And don’t forget re-creating the IIS connectors. If you’ve applied any ColdFusion updates at all, you can get weird issues that happen regarding the CGI scope until you remove and re-add the IIS config.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

OK, got it.

Here is the CGI dump from within onRequest, when I navigate to this URL in my dummy testing app: http://hac-cf11.revagent.com/testing/

from onRequest - struct
AUTH_PASSWORD [empty string]
AUTH_TYPE [empty string]
AUTH_USER [empty string]
CERT_COOKIE [empty string]
CERT_FLAGS [empty string]
CERT_ISSUER [empty string]
CERT_KEYSIZE [empty string]
CERT_SECRETKEYSIZE [empty string]
CERT_SERIALNUMBER [empty string]
CERT_SERVER_ISSUER [empty string]
CERT_SERVER_SUBJECT [empty string]
CERT_SUBJECT [empty string]
CF_TEMPLATE_PATH C:\ColdFusion11\cfusion\wwwroot\testing\index.cfm
CONTENT_LENGTH 0
CONTENT_TYPE [empty string]
CONTEXT_PATH [empty string]
GATEWAY_INTERFACE CGI/1.1
HTTPS off
HTTPS_KEYSIZE [empty string]
HTTPS_SECRETKEYSIZE [empty string]
HTTPS_SERVER_ISSUER [empty string]
HTTPS_SERVER_SUBJECT [empty string]
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
HTTP_ACCEPT_ENCODING gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.8
HTTP_CONNECTION keep-alive
HTTP_COOKIE JSESSIONID=ED02924194851FD1F60E879B35269B0D.cfusion; CFAUTHORIZATION_cfadmin=“YWRtaW4NY2ZhZG1pbg0xNDE1ODIzOTI0ODE0DUEwQzk4QjNFNTU3RjEyQTU=”; CFID=903; CFTOKEN=3c418fea34340190-78D23071-CA82-169A-3BB2AE3F8A88CEC0; CFADMIN_LASTPAGE_ADMIN=%2FCFIDE%2Fadministrator%2Fsecurity%2Fsecureprofile%2Ecfm
HTTP_HOST hac-cf11.revagent.com
HTTP_REFERER [empty string]
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
PATH_INFO /testing/index.cfm
PATH_TRANSLATED C:\ColdFusion11\cfusion\wwwroot\testing\index.cfm
QUERY_STRING [empty string]
REMOTE_ADDR 192.168.11.53
REMOTE_HOST 192.168.11.53
REMOTE_USER [empty string]
REQUEST_METHOD GET
SCRIPT_NAME /testing/index.cfm
SERVER_NAME hac-cf11.revagent.com
SERVER_PORT 80
SERVER_PORT_SECURE 0
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Microsoft-IIS/7.5
WEB_SERVER_API [empty string]

Yep, that’s not right. The path_info should be blank. I just tested it myself on ColdFusion 11. Update your IIS connectors.

Also update your IIS connector. And when you’re done with that, please update your IIS connector :slight_smile:

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

IIS connectors updated. IIS connectors updated. IIS connectors updated.

No change.

What steps did you take to update them? My favorite way to do it is to open up C:\ColdFusion11\cfusion\bin\connectors

and run Remove_ALL_connectors.bat followed by IIS_connector.bat

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Just performed the connector update as you described. No change. Same exception.

-Chris

You did make sure there is an actual index function inside the default handler right?

Absolutely. This is the app that CommandBox spits out.

The issue has to be that your path info is incorrect in your cgi scope. Can anyone else confirm if they’re using CF11 with IIS? I tested this on CF11, but I don’t have IIS to test with.

Can you hit Tomcat directly and see how it behaves? Look in C:\ColdFusion11\cfusion\runtime\conf\server.xml and see what the port is set to in the connector tag that uses an HTTP protocol. For instance, here is mine-- though I’ve changed the port from the default:

So if I hit http://localhost:8511, I’m hitting Tomcat directly and bypassing any kind of web server like IIS.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Brad,

That is correct, the path info is sort of correct, however the index.cfm should not be there. This leads me to believe that the issue is with the routes table and/or the rewrite ISAPI being used. My guess, is that the routes.cfm has not been modified to remove the index.cfm, while being used with rewrite rules.

Or that the rules are not right.

Now I haven’t done it for a very long time, but I think the rewrite rule is the issue if it is not taking the Virtual Directory into account, just something else to thing about.

But yeah, the index.cfm should not be in the path_info at all.