5.8. Exceptions and Workarounds

This section describes compatibility exceptions that occur while using Spring, and solutions to work around the exceptions.

5.8.1. Compatibility of Spring SAAJ, Oracle SAAJ, and IBM JDK

The Oracle SOAP with Attachments API for Java (SAAJ) implementation uses internal Java Developer Kit (JDK) classes that are not provided with IBM JDKs. This causes compilation errors in applications using Spring SAAJ support together with the Oracle SAAJ implementation and an IBM JDK.
The recommended workaround is to remove Oracle SAAJ JARs from the class path of the application so that the bundled IBM implementation is used. The following is an example of the SAAJ JAR dependency that must be removed:

<dependency>
	<groupId>com.sun.xml.messaging.saaj</groupId>
	<artifactId>saaj-impl</artifactId>
	<version>1.3.10</version>
</dependency>
A second workaround, which may not be functional on IBM JVM 7, is to add the Oracle JAXP implementation to the class path of the application as follows:

<dependency>
	<groupId>com.sun.xml.parsers</groupId>
	<artifactId>jaxp-ri</artifactId>
	<version>1.4.5</version>
</dependency>