SUPPORT
See Also
Tech Support FAQ
If your question is not answered here, please see the Support FAQ, or the AppWeb Product FAQ. You may also submit your question to the online community support Forum.
Questions
Answers
How are Mbedthis products different from the Open Source AppWeb products available on http://www.appWebServer.org?
Mbedthis sponsors the development and hosting of AppWeb and AppWebServer.org. Mbedthis uses the core AppWeb code from AppWebServer.org as the basis for its commercial offerings. It then adds additional code, documentation and testing. The products are then provided with commercial licenses and backed up with support.
How can I trouble-shoot with trace?
Run appWeb or winAppWeb with the logging switch "-l". The logging switch takes the following parameters:
appWeb -l logName[:logLevel][.maxSize]
Where logLevel is a number between 0 and 9. Zero is the least verbose. To debug HTTP requests, a level of 6 provides the detail of all the request / response exchanges. MaxSize is the maximum size of the log file in MB. When the maximum size is exceeded, the log file will be rotated to logName.old and a new log file will be started.
AppWeb is configured by default to run CGI programs. If you do need to modify the CGI configuration, the following may help:
The configuration file directives for CGI are:
AddHandler cgiHandler .cgi .bat .cmd .pl
This instructs AppWeb to run the CGI handler for specified file extensions. You can also have CGI be used for URLs that begin with a given prefix. By default there is already a Location block defined for /cgi-bin in the default appWeb.conf. Any files under this URL (http://host/cgi-bin/scriptName) will also run as CGI scripts. To run a given interpreter (for example Perl), you can either just include
#!/bin/perlin the first line of your script (replace the /bin/perl path to point to your interpreter), and make sure your script has a .pl extension. Alternatively, you can change the path specified in the ActionProgram directive to point to your perl interpreter.
Here is the list of CGI variables that are defined for AppWeb under CGI and EGI:
AUTH_TYPE
CONTENT_LENGTH
CONTENT_TYPE
DOCUMENT_ROOT
GATEWAY_INTERFACE
HTTP_ACCEPT
HTTP_CONNECTION
HTTP_HOST
HTTP_USER_AGENT
PATH_INFO
PATH_TRANSLATED
QUERY_STRING
REMOTE_ADDR
REMOTE_HOST
REMOTE_USER
REQUEST_METHOD
REQUEST_URI
SCRIPT_NAME
SERVER_ADDR
SERVER_HOST
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
SERVER_URL
What is the difference between handlers, modules and services?
Modules are just for the
basic loading mechanism of DLL/shared objects. However they also
provide a consistent way to handle modules that are statically loaded without much effort on
the part of the developers.
Handlers are the work-horses for the HTTP server. They
actually process the HTTP requests. Handlers may modify a request and
choose not to actually handle it
-- leaving the processing to a later handler. This is how the
Authorziation handler works (moduleAuth). Handlers get
post data and they write data back to
the browser. They have full access to the request and they own its
processing.
Services in AppWeb are just a programming paradigm -- think
object factory. If an object will have lots of instances (say
Handlers), then we will have a
HandlerService that will manage the Handlers. For Timers we have a
TimerService. The Service will typically keep a list of
instances of the underlying
objects and they will start / stop overall service of that
functionality when the serverstarts / stops.
If you have any further questions, please ask a question at the Forum.