When I try to publish a page in SDL Tridion 2011 I get the following error:

FAILED Invalid URI: -1

I have restarted the 'Tridion Content Manager Publisher', 'Tridion Content Distributor Transport Service', and 'Tridion Content Deployer' services and restarted the server but neither has resolved the issue.

Please see below log extract from c:\tridion\log\cd_monitor.yyyy-mm-dd.txt

2013-06-10 14:16:08,484 ERROR TransportService - Unexpected error occurred.
java.lang.ExceptionInInitializerError: null
    at com.tridion.transport.model.instructions.TransportInstructions.getTransactionId(TransportInstructions.java:115) ~[cd_transport.jar:na]
    at com.tridion.transport.model.transaction.context.TransactionProcessor.createOrLoadTransaction(TransactionProcessor.java:110) ~[cd_transport.jar:na]
    at com.tridion.transport.model.transaction.context.TransactionProcessor.<init>(TransactionProcessor.java:48) ~[cd_transport.jar:na]
    at com.tridion.transport.TransportService.handleTransaction(TransportService.java:222) ~[cd_transport.jar:na]
Caused by: java.lang.NullPointerException: null
    at javax.xml.xpath.XPathFactoryFinder._newFactory(Unknown Source) ~[na:1.7.0_21]
    at javax.xml.xpath.XPathFactoryFinder.newFactory(Unknown Source) ~[na:1.7.0_21]
    at javax.xml.xpath.XPathFactory.newInstance(Unknown Source) ~[na:1.7.0_21]
    at javax.xml.xpath.XPathFactory.newInstance(Unknown Source) ~[na:1.7.0_21]
    at com.tridion.configuration.ConfigurationHelper.<clinit>(ConfigurationHelper.java:45) ~[na:na]
    ... 4 common frames omitted

There have been no changes, that I am aware of, to the server or the software that could cause such an error and it is proving difficult to debug.

Has anyone seen this before or know what I need to do in order to restore publishing?

3 Answers 3


The exception - java.lang.ExceptionInInitializerError - suggest that you JRE/JDK is not functioning correctly and you may need to un-install and re-install the JRE on your CMS and/or on your CDA servers.

Follow below steps to verify:

  1. Go to Command prompt
  2. Navigate to the installation bin path of your JRE - by default for 32-bit it will be something like - C:\program Files <x86>\JAVA\JRE6\bin and for 64-bit it will be something like C:\program Files \JAVA\JRE6\bin
  3. Execute the command java - version
  4. This command should get executed without any error and should display the version number of JRE
  5. Ensure you perform this steps for both 32-bit as well as for 64-bit versions on your servers.

If a failure comes (which would be the same error java.lang.ExceptionInInitializerError) for any version of the JRE, then uninstall and re-install the proper JRE version and ensure the version that you installed is not between the to for JRE.

The root cause of this issue could be because of JAVA automatic update is enabled on your server.


Was Java version 7 recently installed on that machine? I've recently seen the same error when a sys admin removed Java 6 and installed Java 7.

Also check if all the necessary Jar files are present in the \lib directory. It seems that the javax.xml.xpath Factory class can't be loaded.

  • 1
    +1 on this. Even if you don't think your version of Java has changed double check it. We had a couple instances where Java got accidently updated when someone went to dismiss the 'New version of Java is available' dialog and hit update without realizing it instead. Commented Jun 10, 2013 at 20:40
  • Java RTE had been updated from 1.6 to 1.7 which had caused this error. All resolved and working now after rolling back the changes to the server. Thank you.
    – John Askew
    Commented Jun 11, 2013 at 10:36

Unfortunately I have seen this error happen for various reasons, it looks like the symptom (a URI returned with value -1) can be caused by many things.

Check that:

  • Your Java version has not changed (!)
  • Your publication target's target URL is a valid URL and can be reached
  • Are jaxb-api.jar and jaxb-impl.jar in your transport's classpath (i.e. Tridion/lib?) With Java 6 you don't need those files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.