Use Indivo with Java 6

=Upgrade JAXB Version=

In order to use Java 6 (1.6.x) with Indivo the JAXB version that is now included in Java 6 - JAXB 2.0 - must be upgraded as it is not compatible with Indivo. This applies to the PHP JavaBridge and the Indivo Server. To fix this problem: one should follow the Endorsed Standards Override Mechanism.

You will know that this is a problem if you get the following error: PHP Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new org.indivo.client.TalkClientImpl((i:Map)[o:HashMap]). Cause: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/var/lib/tomcat5.5/webapps/JavaBridge/WEB-INF/lib/jaxb-impl-2.1.3.jar !/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API.

Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

Responsible VM: 1.6.0_03@http://java.sun.com/" at:\n#-25 com.sun.xml.bind.v2.model.impl.ModelBuilder. (ModelBuilder.java:136)\n#-24 com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:406)\n#-23 com.sun.xml.bind.v2.runtime.JAXBContextImpl. (JAXBContextImpl.java:270)\n#0 http://example.foo.org:8080/JavaBridge/java/Java.inc(257): java_ThrowExceptionProxyFactory->getProxy(13, '@N', false)\n#1 http://example.foo.org:8080/JavaBridge/java/J in http://example.foo.org:8080/JavaBridge/java/Java.inc on line 220, referer: http://example.foo.org/indivo/login.php

Tomcat Deployment
An example of this is Indivo deployed under Tomcat. This example will assume the following:


 * OS: Ubuntu Linux
 * Tomcat: installed using tomcat5.5 package (gutsy or hardy)
 * Java: sun-java6-jdk package installed (gutsy or hardy)

The tomcat package will install two different directories: /usr/share/tomcat5.5 /var/lib/tomcat5.5

All that needs to be done, is place the new JAXB API Jar into Tomcat's endorsed directory. In this scenario the directory is: /usr/share/tomcat5.5/common/endorsed/jaxb-api.jar

This affectively upgrades the Jaxb version for this instance of Tomcat.

Note: the JAXB Jar that should be placed in the above directory can be found in the WAR file for the Indivo Server.