We have some JAX-WS web service code that runs within WebSphere 6.1. We call a third-party Java library (IBM FileNet P8) that interacts with some other web services on another server.
Running our code from the command line works just fine. However, when we deploy to WebSphere, somewhere within these third-party libraries, the following fatal exception is thrown:
I dug into some of those methods and found that there is a call SOAPFactory.newInstance() that returns a type of: com.ibm.ws.webservices.engine.xmlsoap.SOAPFactory. This class seems to cause the incompatibility.
In GlassFish, I can get the same code working by setting the property javax.xml.soap.SOAPFactory=com.systinet.saaj.soap.SOAPFactoryImpl. According to this javadoc article that changes the SOAPFactory that gets used. When I do this in GlassFish, the code works.
The problem is that this property doesn't seem make any difference within WebSphere.
Any ideas about how I could do more to either diagnose or fix this problem? Thanks!