Web Connection
IIS internal error; 500 http error
Gravatar is a globally recognized avatar based on your email address. IIS internal error; 500 http error
  Kuzma Karbachinskiy
  All
  Jun 18, 2018 @ 11:45am

Hi,

I do site by site update old web connection 3.0 to new web connection 6.20. Web connection 6.20 was installed, added new project, IIS configured automatically, and test page is OK. New project directory is D:\webconnectionProjects\Emmis2012\deploy - project in here \web - IIS folder with web config; \web\bin - wc.dll with wc config \data \build
Old project direvtory is D:\inetpub\wwwroot\Emmis2000\ IIS folder with Index.htm (The start and login app file) wc.dll and wc config D:\wwserver project I moved old project files to new location and updated main program to plugin old files with update process program. File Index.htm has ```html

``` Thirst touch gave IIS 404 error. I moved wc.dll and wc config in \web folder (like it was in Old) and added to IIS ISAPI and CGI Restrictions feature 'Emmis2012 Allowed D:\webconnectionprojects\Emmis2012\web\wc.dll' by help on error. Currently I have IIS 500 HTTP error. I read web connection help pages and IIS help recommendation. Does somebody know how to fix it? I don't know much about 2 additional files in \web\bin folder. There are 'webconnectionmodule.dll' and 'webconnectionwebcontrols.dll'. What are they for? Thank you, kkarbachinskiy@oneworldonestop.com
Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Rick Strahl
  Kuzma Karbachinskiy
  Jun 18, 2018 @ 12:04pm

A 404 error is a not found error which means the URL you're trying to access does not actually find anything to process.

Make sure your script maps are set up correctly. The Web Connection ISAPI dll cannot be accessed directly (ie. /wconnect/bin/wc.dll) out of the bin folder as the bin folder is restricted for execution. It does however work fine if you use script maps and map the DLL there. If you move the DLL make sure you adjust your URLs and you ensure that you can execute the dlls directly. However I'd highly recommend you don't reference wc.dll directly but instead create a script map and use wc.wc or another script map of your choosing instead.

If you are upgrading to 6.20 you probably should be using the .NET Module rather than ISAPI operation.

Hope this helps,

+++ RIck ---

Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Kuzma Karbachinskiy
  Rick Strahl
  Jun 18, 2018 @ 12:58pm

Hi Rick,

Could you please explain about automatic mapping by DO CONSOLE 'SCRIPTMAP'? Is it going to change foxpro code in wwserver.process method or web configuration file or both?

Thank you, Kuzma Karbachinskiy kkarbachinskiy@oneworldonestop.com

Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Rick Strahl
  Kuzma Karbachinskiy
  Jun 18, 2018 @ 01:05pm

No it's only creating the scriptmap in IIS. It does nothing to your code.

You will have to manually add the script map routing code. However, if you were using wc.dll directly you likely were using hte old method~parm~parm syntax which won't need any changes. You can just do a search and replace for wc.dll to wc.wc (or whatever scriptmap you use) in both your code and your HTML content to switch. That should be step one.

Once that's working you can look at cleaning up your URLS from the old wc.wc?method~parm1~parm2 syntax to Method.wc?parm1=val&parm2=val2 syntax. But that's not required - the important thing is to switch to script maps so you don't have to deal with the security issues that come with .dll extensions in URLs as well.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Kuzma Karbachinskiy
  Rick Strahl
  Jun 19, 2018 @ 09:48am

Hi Rick,

I did wc.wc?method~param~param and have the question about web config file. it was updated with adding to handlers section.

<handlers>
      <add name=".wc_wconnect-module" path="*.wc" verb="*" type="Westwind.WebConnection.WebConnectionHandler,WebConnectionModule" preCondition="integratedMode" />
      <add name=".wcs_wconnect-module" path="*.wcs" verb="*" type="Westwind.WebConnection.WebConnectionHandler,WebConnectionModule" preCondition="integratedMode" />
      <add name=".wcsx_wconnect-module" path="*.wcsx" verb="*" type="Westwind.WebConnection.WebConnectionHandler,WebConnectionModule" preCondition="integratedMode" />
     <!-- <add name="WC Handler" path="*.wc" verb="*" modules="IsapiModule" ScriptProcessor="D:\webconnectionprojects\Emmis2012\web\bin\wc.dll"
      resourceType="Unspecified" preCondition="bitness32" /> -->
    </handlers>

I had to comment it. Otherwise static page index.htm can't be displayed. It desplays http 500.17 errors with red in added code. It is working fine and I hit the server. I read your blog 'Creating .DLL Script maps with the Web Connection .NET Managed Module', but I'd like to diminish volume of work. Is it OK that I did?

Thank you, Kuzma Karbachinskiy kkarbachinskiy@oneworldonestop.com

Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Rick Strahl
  Kuzma Karbachinskiy
  Jun 19, 2018 @ 06:29pm

If you're running on IIS 7 or later you have to have the <handlers> section otherwise there's no script mapping.

If you're upgrading you probably have an old <httpHandlers> and <httpModules> section in your web.config. Remove those as those conflict with the new settings.

Best thing to do is:

  • Create a new test project
  • take a look and compare the web.config from new and old projects

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Kuzma Karbachinskiy
  Rick Strahl
  Jun 21, 2018 @ 03:51pm

I did as you said. It did not help me. Old application didn't have web config. I have IIS question. I had to run old application on the same machine and IIS has mix old components like net 3.0 and modern ones like net 4.5. Can it be the case? I'll continue to think about.

Thank you, Kuzma Karbachinskiy kkarbachinskiy@oneworldonestop.com

Gravatar is a globally recognized avatar based on your email address. re: IIS internal error; 500 http error
  Rick Strahl
  Kuzma Karbachinskiy
  Jun 21, 2018 @ 05:50pm

Hi Kuzma,

Don't know how to help you with your specifics. Web Connection 6 using .NET Modules and a much newer version of IIS will be different so you can't possibly expect things to just work as they were when migrating to the newer platform.

As I suggested before, for old applications my recommendation is to create a new project and move the old code into the new project. This way you:

  • Get the configuration set up with current standards
  • Get auto-configuration of IIS
  • Automatic .NET Module support (unless you explicitly choose ISAPI)
  • Get up to date on a more maintainable way to build your application

The idea is that you basically create a new project, get the hello world running, then add your existing Process class into the new application. Assuming you pull in and set up all of your dependencies in yourServer::OnLoad() you should be able to get your app set up with this new configuration relatively easily.

If you don't want to go this drastic but well worth it route of a new base project, then I'd recommend you still set up a new test project for reference, so you can compare what the configuration should look like and you can then compare between what you have and what a new project has.

I also recommend you read through the entire IIS configuration topic. If you have an old application that was set up a certain way there will be changes required and reading through this whole document will ensure that you check all the necessary areas to make sure your app can run properly.

IIS Configuration for Web Connection

+++ Rick ---

© 1996-2024