The IBM Cognos 8 SDK Java samples need Apache axis 1.1
IBM Cognos 8 contains five axis related jars in the
As described in the "IBM Cognos 8 SDK Getting Started" documentation, in the section "The IBM Cognos 8 Java Toolkit" :
"an SDK applications needs only two axis jars: axis.jar and axisCognosClient.jar"
1. this axis.jar is not the original Apache axis 1.1 jar, but is a modified version as needed by IBM Cognos 8 SDK.
2. axisCognosClient.jar contains the IBM Cognos 8 SDK API; it calls the axis.jar
If the customer wants to use a higher version of axis for other application running together with IBM Cognos 8 SDK (for example axis 1.4), then a conflict will appear, as IBM Cognos 8 SDK cannot work with axis 1.4, but with axis 1.1.
To avoid this conflict, two other jars are provided in the lib directory:
1. cognos-axis.jar, which is identical to the provided axis.jar, but where all the packages have been modified from org.apache to com.cognos.org.apache
2. cognosClient.jar, identical to axisCognosClient.jar, but which uses com.cognos.org.apache instead of org.apache
Therefore, to use another version of axis, the following changes are needed, so that IBM Cognos SDK continues to use the axis 1.1:
1. In the CLASSPATH, replace axis.jar by the cognos-axis.jar
2. In the CLASSPATH, replace axisCognosClient.jar by cognosClient.jar
3. In the SDK code, add com.cognos. in front of org.apache in all the lines starting with import org.apache.axis.
In the case when more than the above two axis.jar are used, sometimes the following error appears:
Exception in thread "main" java.lang.ClassCastException: com.cognos.developer.schemas.bibus._3.ContentManagerServiceStub incompatible with org.apache.axis.client.Stub
Note: The reason for having axisReportNetClient.jar is for previous IBM Cognos ReportNet SDK users
who may want to keep the jar file the same name as it is in Cognos ReportNet.
Otherwise axisReportNetClient.jar and axisCognosClient.jar are the same