Troubleshooting license key problems
If you are having trouble running Saxon-PE or Saxon-EE for the first time, here is a list of the most common problems:
-
If your license key does not arrive within 24 hours, it may be because it has been intercepted by your company's spam/virus checker. This is surprisingly common. Send us an email and we will try to find a way through your company's defenses.
Another possible cause is that you provided an email address that doesn't work. Again, it's surprising how many people do this.
And some less common problems:
-
Check that the filename is
saxon-license.lic
. Some mail systems, notably Yahoo, have been known to change the hyphen to an underscore in transit. -
If Saxon says it cannot find the license key, please read the instructions above for where to install the license key once again.
If you're relying on Saxon finding the license file in the directory that contains the Saxon JAR file, be aware that this doesn't always work (it depends on security settings). Try a different mechanism: the simplest is to put the directory containing the license file on the classpath.
If you are convinced that the directory containing the license file is on the classpath, check that you are not running the software using the java -jar option, which ignores everything on the classpath.
-
If Saxon says that a particular operation requires Saxon-PE or Saxon-EE, this may mean that you are running Saxon-HE software, or that you have invoked Saxon using a Saxon-HE entry point, or that Saxon has reverted to Saxon-HE functionality because it could not find a valid license file (in the latter case it will usually have produced a message to this effect: but depending on your application, you might not see the message).
You can check what version of Saxon is on the classpath by calling the static method
net.sf.saxon.Version.getProductTitle()
from your Java code.If you are using the JAXP API, check that the
TransformerFactory
that is instantiated is an instance ofProfessionalTransformerFactory
orEnterpriseTransformerFactory
. Remember that you don't have to rely on the JAXP search mechanism to find aTransformerFactory
; you can create an instance directly using (for example)new ProfessionalTransformerFactory()
, which is not only more reliable, it is also much faster.If you are using the s9api API, check that you created a
Processor
object usingnew Processor(true)
rather thannew Processor(false)
.You can check what Saxon edition you are effectively running by finding the
Configuration
object (for example, by usingProcessor.getUnderlyingConfiguration()
) and calling itsgetEditionCode()
method.From an XSLT stylesheet, you can establish what version and variant of Saxon you are running by calling
system-property('xsl:product-version')
. -
If Saxon says the license key is invalid then it probably is. Very occasionally a license file gets corrupted in transit. Please ask for another copy (or we might issue you a new license). Sometimes the corruptions can be traced to the use of non-ASCII characters in license fields such as your name or Company (email systems can be unkind to such files). In the event of problems, try applying again, restricting yourself to ASCII characters.
We upgraded the tools we use for creating license files in late 2017, and we believe this problem is now fixed. However, the data flow is not all under our control, so it remains a possibility.
-
If Saxon says the license key has expired this generally means you are using a 30-day evaluation license and the expiry date has been reached. (Perhaps you have obtained a new license key, and Saxon is still picking up the old one.) If it's taking you longer to evaluate the software than you planned, please send us an email explaining the circumstances before you apply for another license, otherwise the request may be refused.
If you run Saxon from the command line with the
-t
option, it will report the serial number of the license file that it picked up. Check that this is your most current license file. -
If Saxon says the license key does not cover the version of Saxon that you are using, this usually means that you purchased a standard license key which covers free upgrades for one year, and that year has elapsed. You will need to purchase an upgrade, which can be done online. Most paid-for licenses are permanent, but only in relation to software issued within one year of the purchase.
If you run Saxon from the command line with the
-t
option, it will report the serial number of the license file that it picked up. Check that this is your most current license file. -
If Saxon says the license is temporarily suspended, try again after five minutes. Evaluation licenses occasionally (and randomly) issue this message to discourage attempts to use them for running a live producton service.