Classloading problems using WS-Security in Apache Axis in EAP 5.2
Issue
We are using Apache Axis to invoke a SOAP endpoint using WS-Security. After upgrading to JBoss EAP 5.2.0, we get the following errors:
java.lang.ClassNotFoundException: org.apache.xml.security.Init from BaseClassLoader@1fa37d2{vfszip:/u001/app/jbossas/server/upgf-all/deploy/upgf_20130107.ear/}
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:481)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.apache.ws.security.WSSConfig.<init>(WSSConfig.java:72)
at org.apache.ws.security.WSSConfig.getNewInstance(WSSConfig.java:95)
at org.apache.ws.security.WSSConfig.<clinit>(WSSConfig.java:47)
at org.apache.ws.security.WSSecurityEngine.<clinit>(WSSecurityEngine.java:51)
at org.apache.ws.security.handler.WSHandler.<clinit>(WSHandler.java:62)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getJavaClass(WSDDDeployableItem.java:353)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:295)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getGlobalRequest(WSDDDeployment.java:473)
at org.apache.axis.configuration.FileProvider.getGlobalRequest(FileProvider.java:269)
at org.apache.axis.AxisEngine.getGlobalRequest(AxisEngine.java:365)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:126)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
java.lang.NoClassDefFoundError: Could not initialize class org.apache.ws.axis.security.WSDoAllSender
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getJavaClass(WSDDDeployableItem.java:353)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:295)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getGlobalRequest(WSDDDeployment.java:473)
at org.apache.axis.configuration.FileProvider.getGlobalRequest(FileProvider.java:269)
at org.apache.axis.AxisEngine.getGlobalRequest(AxisEngine.java:365)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:126)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
Environment
- JBoss Enterprise Application Platform (EAP) 5.2.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.