Spellex Spelling Server Technical Support

Known Issues

"An error occurred while checking spelling" message in Applet example

Symptom 1: The message "An error occurred while checking spelling" appears when using one of the Spelling Applet examples. The Java console contains the following lines:

E::::
Reading response from server (2) (...):
java.lang.NullPointerException

Cause: A bug in the examples\applet\default.asp script.

Solution: Open c:\Program Files\Spellex Spelling Server\examples\applet\default.asp using NotePad or a similar editor. Locate the following lines near the bottom of the script:

' We've checked all the words in the text.Response.Write("E::::" & vbCrLf)

Insert the statements shown below so the lines look like the following:

' We've checked all the words in the text.
If (Not sentinelReturned) The
   Response.Write("$$start$$" & vbCrLf)
   sentinelReturned = True
End IfResponse.Write("E::::" & vbCrLf)

Symptom 2: The message "An error occurred while checking spelling" appears when using one of the .NET Spelling Applet examples (VBExample5 or CSExample5) when the text being spell-checked contains HTML markups. The Java console contains the following lines:

Reading response from server (1) (http://.../AppletServer.asxp):
java.io.IOException

Cause: Newer versions of .NET consider HTML markups in submitted text to be a security threat. The problem will occur when text containing HTML markups is submitted to any .NET application, and results an error page containing the following text:

A potentially dangerous Request.Form value was detected from the client.

Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.

Because the forms contents are submitted to the server by SpellingApplet, and the response from the server is received by SpellingApplet, the contents of the error page are not visible.

Solution: Edit AppletServer.aspx in "form" mode, and insert the "validateRequest=false" option in the Page directive (use the HTML view). However, note that doing so will make your server vulnerable to the security threat against which Request Validation is intended to guard.

 

Spelling Server error -7

Applies to: All versions

Symptom: Your application or one of the example programs displays "Spelling Server error -7".

Cause: The -7 means that the language id passed to the CheckText or Suggest methods does not correspond to a known language id. However, this problem can also be a symptom of an invalid license key.

Solutions:

  • Run regedit and examine HKEY_LOCAL_MACHINE\Software\Spellex Corporation\SpellingServer\LicenseKey. Make sure the key entered there is the one provided by Spellex (be sure to display the key's value in decimal). Note that the license key is not the same as your serial number. Entering a serial number in place of a license key will not work. If the license key is not correct, correct the value then restart your server.


  • If you recently installed the retail version of Spellex Spelling Server after using the evaluation version, the SpellexSpellingServer.dll file may have been in use when you installed the retail version. The evaluation copy of this file could therefore not be overwritten, so the evaluation DLL is still being used. The solution is to shut down your web server, then un-install Spellex Spelling Server. Make sure SpellexSpellingServer.dll was deleted (the default location for this file is \Program Files\Spellex Spelling Server). If it was not deleted, try to delete it manually. If necessary, reboot your system in safe mode, then delete the file manually. Once the DLL has been deleted, re-install the retail software.


  • If you are using the evaluation version of Spellex Spelling Server, your evaluation period may have expired.


  • Make sure that the language id being passed to the CheckText or Suggest methods is a valid id. Run regedit and examine the sub-keys under HKEY_LOCAL_MACHINE\Software\Spellex Corporation\SpellingServer to make sure the language id is defined there. See the Spellex Spelling Server User's Guide for more information on how the language ids are configured.


  • Examine the Spellex Spelling Server event log for the day the server was started. If any of the dictionary files associated with language id couldn't be opened, the language id will be invalid and the -7 error will result. Send the event log file to the Spellex Support Team if you need help interpreting its contents.

 

How to access the Spellex Spelling Server event log

Spellex Spelling Server records significant events in its event log. Information recorded in the event log can be helpful in diagnosing configuration problems. When you contact the Support Group with Spelling Server related problems, you can save time by including the contents of the event log. This document describes how to access the event log. Note that the event log is configured in different ways in different versions of Spellex Spelling Server; be sure to use the approach appropriate for the version you are using.

Applies to: Version 1.8 and later

The event log is accessed by calling the GetEventLog method. You can display the event log contents in a browser window using code similar to the following:

Dim wss, eventLog
Set WSS = Server.CreateObject("SpellingServer.SpellCheck")
eventLog = wss.GetEventLog()
Response.Write("Spelling Server event log:<BR>" & eventLog & "<BR>")

In a VB.NET application:

Dim wss as new SpellingServer()
Response.Write("Spelling Server event log:<BR>" & wss.GetEventLog() & "<BR>")

In a C# application:

Response.Write("Spelling Server event log:<BR>" + SpellingServer.GetEventLog() + "<BR>");

Applies to: Version 1.7.3 and 1.7.4

When the CheckText method returns a negative error code, it sets the value of the otherWord parameter to the contents of the event log (limited to 10K characters). You can display the event log contents in a browser window by forcing CheckText to return an error code:

Dim cursor, word, otherWord
result = WSS.CheckText(CStr(""), CLng(999999), CLng(0), CStr(""), CStr(""), cursor, word, otherWord)
If (result < 0) Then
Response.Write("<P><FONT COLOR=RED>Spelling server error " & result & "</FONT><BR>")
Response.Write("Diagnostic information:<BR>")
Response.Write(otherWord)
End If

In the example code above, an unknown language id (999999) is passed to the CheckText method to force it to return -7.

The event log information returned through the otherWord parameter is formatted for HTML display. Lines are separated with the <BR> markup. To convert the log information to text format, replace "<BR>" with CR-LF.

Applies to: Version 1.7

The event log is created only if the EventLogPath string value is defined in the registry. This value is defined in the registry when you install Spellex Spelling Server. EventLogPath contains the path to a folder on the server's file system where Spellex Spelling Server's event logs can be created. By default, this path is C:\Program Files\Spellex Spelling Server\EventLog.

The folder indicated by the EventLogPath string value must exist. Permissions assigned to this folder must allow any user or application to write to it. If the folder is empty, then most likely permissions on your system are preventing Spellex Spelling Server from creating or writing to event log files. To get around this, you can use regedit to set EventLogPath to a writable folder, such as c:\WINNT\Temp or c:\Windows\Temp. Note that you may need to restart your server after changing the EventLogPath string value or changing permissions on the folder.

See the next section ("Apples to: Version 1.4 - 1.6") for further information.

Applies to: Version 1.4 - 1.6

The log files are created in the directory indicated by the EventLogPath setting (HKEY_LOCAL_MACHINE\Software\Spellex Corporation\SpellingServer\EventLogPath). If this setting is not defined, the event logs are written in a directory named "eventlog" which is a subdirectory of the directory where SpellexSpellingServer.dll resides (however, in version 1.7 and later, if EventLogPath is not defined, event logging is disabled). When you install Spellex Spelling Server, the EventLogPath value is automatically set to c:\Program Files\Spellex Spelling Server\eventlog.

The event log consists of (up to) 31 files, named "day01.txt" to "day31.txt". Each file corresponds to a day of the month. Events logged on the 6th of the month are written to "day06.txt", for example. When a log file is reused, events recorded on the same day the previous month are deleted. This arrangement keeps an historical record of significant events (up to one month's worth) without consuming excessive disk space. If you want to keep event logs for longer than one month, you can either make a backup of each file or change the EventLogPath setting each month.

Most significant events involving configuration problems occur when Spellex Spelling Server starts, which is usually when the Start method is called or when the first spelling check takes place. If you are using the event logs to diagnose configuration problems, start with the log file corresponding to the day of the month when Spellex Spelling Server started.

If the event log files are not created, the problem is most likely due to permissions. You can solve the problem by creating an EventLogPath string value in the registry which points to a different folder where files may be written. Details about the EventLogPath string value are contained in the user's guide.

 

"Object does not support this property or method" with SpellingApplet

All platforms: The "Object does not support this property or method" message appearing in Internet Explorer is usually a configuration or communication problem. If the applet cannot be located on the server, or cannot be downloaded from the server, or the applet's JAR file is corrupted, IE will be unable to run the applet and the message may appear. SpellingApplet.jar must be located in the same virtual directory on the server as the HTML page which references it (though it is possible to place the .jar file in a different directory if the applet's CODEBASE tag is set). IE may continue to display the error message even after the problem is resolved unless the page is completely reloaded. On Windows systems, you can force IE to completely reload a page by pressing Ctrl+Shift+F5.

Macintosh only: When SpellingApplet is opened by Internet Explorer running on the Macintosh, the message "Object does not support this property of method" is displayed and the error line points to an attempt to call one of SpellingApplet's methods. Internet Explorer on the Macintosh does not (currently) support JavaScript to Applet communication. This communication is necessary for operation of SpellingApplet. Unfortunately, until the issue is resolved by Microsoft, SpellingApplet is not usable with Internet Explorer on the Macintosh platform.

 

Problems running the ASP.NET examples

Applies to: Version 1.6

Each specific virtual directory containing a Spellex Spelling Server ASP.NET example must be configured as an application or the following message will be displayed by the ASP.NET framework when you attempt to run the example:

Configuration Error

It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This can be caused by a virtual directory not being configured as an application in IIS.

The solution is to configure the virtual directories containing the examples as applications. Instructions are given in the "Getting Started" section of the Spellex Spelling Server user's guide.

On some systems, the ASP.NET example projects cannot be opened in Visual Studio.net unless the projects are located in a subdirectory of the wwwroot directory. If you have problems opening the ASP.NET examples, try copying the example ASP.NET projects from \Program Files\Spellex Spelling Server\examples\asp.net to a subdirectory of wwwroot (usually located in Inetpub).

 

Home | Order Now | Products | Upgrades | Free Trial | Partners | About Spellex | Contact Us | Site Map | Privacy Policy

Spellex Corporation © 2008. All rights reserved