我在JBoss(5.1.0.GA)中部署了一个包含Web服务客户端的应用程序。正在进行Web服务调用的库是作为已编译的JAR提供的,因此我无法对其实现进行任何更改。我正在使用AXIS 1.4,而且在JBoss之外的东西还可以正常工作。部署并尝试执行触发Web服务调用的操作后,我收到此异常:
javax.xml.soap.SOAPException:无法为SOAP创建消息工厂:org.jboss.ws.core.soap.MessageFactoryImpl无法强制转换为javax.xml.soap.MessageFactory
我可以更改应用程序的配置,告诉它不要使用JBoss提供的saaj实现吗?我想尽量避免进行服务器范围的更改,因为那里部署了其他几个我不想搞砸的应用程序。
答案 0 :(得分:0)
在Jboss 5中,您可以选择为可部署资源创建自定义类加载文件jboss-classloading.xml
。因此,如果您的编译jar包装在WAR / EAR中,您可以指示JBoss在此jar中使用saaj实现,而不是服务器库。本文非常好地描述了它的工作原理:
http://phytodata.wordpress.com/2010/10/21/demystifying-the-jboss5-jboss-classloading-xml-file/