Affects Version/s: 2.2.2
Fix Version/s: 2.2.4
Axiom 1.2.15 was released in June but a number of Spring Web Services tests fail when run against this new version. The release notes describe the changes as:
Removal of the JavaMail dependency
Axiom 1.2.15 no longer uses JavaMail and the corresponding dependency has been removed. If your project relies on Axiom to introduce JavaMail as a transitive dependency, you need to update your build.
In previous Axiom versions, the serialize and serializeAndConsume methods skipped empty SOAP Header elements. On the other hand, such elements would still appear in the representations produced by getXMLStreamReader and getSAXSource. For consistency, starting with Axiom 1.2.15, SOAP Header elements are always serialized. This may change the output of existing code, especially code that uses the getDefaultEnvelope() defined by SOAPFactory. However, it is expected that this will not break anything because empty SOAP Header elements should be ignored by the receiver.
To avoid producing empty Header elements, projects should switch from using getDefaultEnvelope() (in SOAPFactory) and getHeader() (in SOAPEnvelope) to using createDefaultSOAPMessage() and getOrCreateHeader().
For more information, see AXIOM-430.
The removal of JavaMail dependency causes some ClassNotFoundExceptions. It can be addressed by adding a test dependency on com.sun.mail:javax.mail:1.5.4.
There was also some changes when asserting the contents of response payloads. I suspect these are a side-effect of the serialisation changes that have been made in Axiom.