We have an issue when the Integration Server 8.2 class loader loads classes from WS-Stack and not from WEB-INF/lib of a web application running on the IS built-in tomcat.
The class loader loads the axis-saaj.jar from WS-Stack (apache implementation version 1.4.1), instead of loading the saaj-impl-1.3.jar (Sun implementation version 1.3) from the WEB-INF/lib of our web application. This breaks Web Service clients created with the Apache CXF / JAX-WS framework producing the following error: “HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.” while running the web application on a standalone Tomcat is working without any errors.
Does anyone have an idea how to force the IS class loader to use the classes from sun’s saaj-impl-1.3.jar?
Additional information:
- CXF FAQ saying also apache saaj 1.4.1 should work (Apache CXF -- FAQ)
- CXF issue tracked, referring to AXIS 2 issue ([CXF-1959] Exception thrown when creating SoapFault using Axis2-saaj implementation - ASF JIRA)
- AXIS 2 issue, only solved in some nightly build in 2008, but not in official release ([AXIS2-3808] SAAJ implementation classes do not overrride appendChild(org.w3c.dom.Node) method - ASF JIRA )