我有2个网络服务,当我用客户端测试它们时都工作得很好。但是当我尝试将端口构建到另一个Web服务的一个Web服务时,JBOSS只会爆炸,但有几个例外:
由引起的将上下文初始化事件发送到侦听器实例的异常 class pt.ist.anacom.shared.security.SecurityInitListener: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException:失败 创造服务。
由引起的org.apache.cxf.service.factory.ServiceConstructionException:失败 创造服务。
javax.wsdl.WSDLException:WSDLException:faultCode = PARSER_ERROR: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration不能 强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration
引起:
java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration不能 强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration
所以我有Web服务A和Web服务B.我部署Web服务A然后在我的contextlistener上进行Web服务B我添加:
org.stubs.WebServiceA_Service service = new org.stubs.WebServiceA_Service(); // EXPLODES HERE
org.stubs.WebServiceA web = service.getWebServiceAPort(); //never runs this line, crashes before
这两个Web服务都是首先实现的(自下而上?)意味着我定义WebService类,部署它(JBOSS自动生成wsdl)然后我使用它。
当我从测试客户端访问webserviceA时它工作正常,但是当我尝试从WebServiceB访问它时却没有。
我已经失去了几天,并且几乎可以尝试所有的东西......所以任何帮助都是非常有用的。
答案 0 :(得分:1)
在将Web服务部署到WebLogic服务器的多种情况下,我遇到了同样的问题,问题是服务器类路径上的xerces库与Web服务实例中包含的xerces库之间存在版本冲突。
在一个场景中,解决方案是避免将xerces库包含在Web服务应用程序中(如果恰好是您的引擎,则为maven pom中的xerces库指定范围'提供')。另一方面,解决方案是使用(weblogic)过滤类加载器功能来指示服务器使用应用程序中包含的xerces库与服务器的实现。
根据您的问题,我在jboss中查看了此功能并找到了这篇文章:http://www.mastertheboss.com/jboss-application-server/223-solving-jboss-5-classloading-issues.html
希望这会有所帮助......