2012-05-08 156 views
2

我有2个Web服务,当我使用客户端测试它们时,它们都工作得很好。但是当我试图建立的端口从其他Web服务一个web服务JBOSS只是几个例外爆炸:造成ServiceConstructionException当一个Web服务连接到另一个Web服务

org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.

造成

javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration

造成

Exception sending context initialized event to listener instance of class pt.ist.anacom.shared.security.SecurityInitListener: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.

java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration

所以我有web服务A和Web服务B.我部署Web服务,然后在我的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访问它时。

我已经失去了这几天,并尝试几乎所有我可以..所以任何帮助是非常appretiated。

+0

如果你到一个服务器实例部署两种服务,也许您试图使用的服务在您尝试使用时尚未完全部署。 – ant

回答

1

我遇到了同样的问题,在多种情况与Web服务部署到WebLogic服务器的问题是在服务器类路径中对什么是包含在Web服务实例的Xerces库之间的版本冲突。

在一种情况下,解决方案是避免在Web服务应用程序中包含xerces库(如果这恰好就是您的引擎,则在maven pom中为xerces库指定范围'提供')。另一方面,解决方案是使用过滤类加载器功能(weblogic)来指示服务器使用包含在应用程序中的xerces库与服务器的实现。

根据您的问题,我环顾四周,在JBoss中这个功能和位于这篇文章:http://www.mastertheboss.com/jboss-application-server/223-solving-jboss-5-classloading-issues.html

希望这有助于...

+0

谢谢你的回答,我忘了回复,但这确实解决了我的问题:) – sap

相关问题