May 9, 2014

isapi_redirect 500 Internal Server Error

Today I was Installing Dev Version of ColdFusion Splendor in my Machine.
I completed CF 11 Installation successfuly but when I try to run CFM code then I got this strange error.

500 Internal Server Error -

I was not aware of such kind of error in past so
What is isapi_redirect DLL ?
What is the need of  isapi_redirect DLL in running .cfm page?

Here comes the Answer -

As we know IIS is an External Web server and It tends to process HTML content and Tomcat/Jrun is Built In web server which in turns execute Java and JSP applications.

As we know ColdFusion is built on top of Java EE so we need some one to run those Javabyte codes and that is why we need Tomcat/Jrun.

So,  here isapi_redirect is Middle guy which send your request from IIS to Tomcat. In technical term,  It is a Plugin which helps IIS to send servlet/JSP request to Tomcat to  process any client request.

So, now solve our Main Issue - 500 Internal Server (Check above screenshot showing error message )

Steps to Follow to solve it -
Open ISAPI Filters in IIS
>  Right Click/ Click Action "Add"
> Give any filter name say "CFIASPI"  and under Executable Text box give path of your isapi_redirect DLL present under #root#\config\wsconfig\1\isapi_redirect.dll
>  Now restart IIS once 
>  Load your CFM page, Issue solved

If issue not solved even after adding required DLL under ISAPI.
-- Check web.xml under your project folder and see for any reference of ISAPI present or not.
    Above scenario may only happen when you have CF 10 already Installed  and due to mismatch in handler mapping It cause to read wrong path of ISAPI DLL.
-- If  found in web.xml check config setting for ISAPI. Validate its path.

If you still facing any issue,  Please share. It is also new to me.
Hope it may help :)