webservice8.1中部署axis webservice

在webservice8.1中部署axis webservice,经常会出现类似以下的错误

<2005-3-2 下午07时27分05秒 CST> <Error> <HTTP> <BEA-101017> <[ServletContext(id=

3449288,name=testwebservice,context-path=/testwebservice)] Root cause of Servlet

Exception.

java.lang.IncompatibleClassChangeError

at org.apache.axis.message.MessageElement.addTextNode(MessageElement.jav

a:1027)

at org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:121)

at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseri

alizationContextImpl.java:1060)

at weblogic.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractS

AXParser.java:585)

at weblogic.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNa

mespaceBinder.java:898)

……

这是由于webservice8.1中所带的webservices.jar和axis中的saaj.jar冲突引起的,解决方法有两个:

1. 配置weblogic.xml,强制weblogic首先加载应用WEB-INF中的class

2. 修改startweblogic.cmd,将axis下的saaj.jar的路径放在weblogic的webservices.jar之前。

详细内容见:

经验分享 程序员 微信小程序 职场和发展