尽展体育的魅力,创造历史辉煌!2008让我们为奥运加油,为中国加油!
 
 奥运金牌榜
  
  高级搜索
  首页   技术论坛   博客   产品中心   资源中心   银弹在线   商城  

 
  本文的标签
EOS知识库 (收录442篇)EOS应用分析设计 (收录63篇)
  SOA2007 - SOA实践
我们何时迈向SOA
——SOA在中国的整体发展现状究竟如何?
我们如何迈向SOA
——中国企业如何迈出实施SOA的第一步?
我们应采用何种技术
——SOA国际标准SCA/SDO的具体内涵?
我们还需要何种技能
——SOA将如何改变系统架构设计以及项目管理过程?

EOS中调试涉及Webservice调用的java类的经验


发布时间:2007-12-04 11:12:46 作者:cservice 出处: 语言:中文 阅读次数:1032
 

【适用范围】
EOS5.x Webservice

【问题描述和定位】
有一个java类(RRGetSKey.java)涉及Webservice的调用,源码见 附件



当调试到new RRGetSKey().getSKey("", "", "", "",node);这一行的时候,出现Exception:
java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
at org.apache.axis.components.logger.LogFactory.class$(LogFactory.java:45)
at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)
at cn.com.softvan.japroject.client.interfaces.RRGetSKey.getSKey(RRGetSKey.java:39)
at cn.com.softvan.japroject.client.interfaces.RRGetSKey.main(RRGetSKey.java:108)

检查后发现项目中缺少了commons-logging.jar,将它加入项目属性的外部构建路径库以及Server端的Lib目录后,继续调试走到Service service = new Service()的时候,又出现如下Exception:
java.lang.NoClassDefFoundError: org/apache/commons/discovery/resource/names/DiscoverNamesInAlternateManagedProperties
at org.apache.axis.AxisProperties.getAlternatePropertyNameDiscoverer(AxisProperties.java:132)
at org.apache.axis.AxisProperties.setClassOverrideProperty(AxisProperties.java:88)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.<clinit>(EngineConfigurationFactoryFinder.java:60)
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)
at cn.com.softvan.japroject.client.interfaces.RRGetSKey.getSKey(RRGetSKey.java:39)
at cn.com.softvan.japroject.client.interfaces.RRGetSKey.main(RRGetSKey.java:106)

【解决方案和步骤】
导致上述java.lang.NoClassDefFoundError问题的根本原因是:提供Webservice服务的Axis所需要的jar包不完整。

解决方案是:以EOS5.3 For Jboss环境为例,将\jboss-3.2.5\server\default\deploy\eos4jboss\axis.war\WEB-INF\lib这个目录下的所有jar包,拷贝到\jboss-3.2.5\server\default\lib目录中,同时,加入Studio的项目属性的外部构建路径的库中。

【备注】
 

 评论 查看全部评论

 

声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。