ServiceConstruction当一个Web服务连接到另一个Web服务时发生异常

时间:2012-05-08 19:54:37

标签: java web-services jboss wsdl

我有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访问它时却没有。

我已经失去了几天,并且几乎可以尝试所有的东西......所以任何帮助都是非常有用的。

1 个答案:

答案 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

希望这会有所帮助......