cxf客户端调用webservice报错:NoSuchMethod org.apache.commons.xml.XmlSchema.read

cxf客户端项目部署在weblogic中的时候,调用cxf webservice服务端接口时,出现如下错误:

在网上搜索过很多资料,说是jar 包版本过低,将XmlSchema-1.4.5.jar 包换成XmlSchema-2.0.1.jar 之后,还是不行。

原因是:weblogic在服务器上运行时使用的是jrokit的JDK,jrokit中已经有相关的jar包, 会优先加载jrokit/jre/lib目录下的jar包,

解决办法:

在weblogic的使用的JRockit的jre/lib目录下创建endorsed文件夹,

然后将XmlSchema-1.4.5.jar ,和geronimo-ws-metadata_2.0_spec-1.1.2.jar 两个jar放入endorsed文件夹内,

那么weblogic在启动的时候会优先加载endorsed文件中的这两个jar包。

如果上面的配置还是报错,就修改weblogic.xml 文件,将prefer-web-inf-classes 配置去掉。

原文地址:https://www.cnblogs.com/summer520/p/4506665.html