关于pojo发布webservice出现的问题

在尝试使用Eclipse发布一个简单的WebService到Axis2时,遇到ClassNotFoundException错误。错误显示在Tomcat的pojo目录下找不到SimpleService.class。解决方法是不使用IDE的编译路径生成的class文件,而是通过命令行使用javac编译,以避免部署故障。
摘要由CSDN通过智能技术生成

今天,在研究webservice的时候,根据网上的链接:

http://www.cnblogs.com/macula/archive/2011/08/28/2155992.html

出现的如下错误:


在Eclipse中配置了tomcat 跟 axis2 , 在浏览器地址栏中输入如下的URL:
http://localhost:8080/axis2/   显示Axis2安装成功。

做一个简单的例子:
public class SimpleService { 
   public String getGreeting(String name) { 
      return "你好 " + name; 
      } 
   public int getPrice() {
     return new java.util.Random().nextInt(1000);
      }
 }

编译SimpleService类后,将SimpleService.class文件放到<Tomcat安装目录>\webapps\axis2\WEB-INF\pojo目录中(如果没有pojo目录,则建立该目录)。现在我们已经成功将SimpleService类发布成了WebService。在浏览器地址栏中输入如下的URL:
http://localhost:8080/axis2/services/listServices

却显示:
Faulty Services
E:\Program Files\apache-tomcat-7.0.20\webapps\axis2\WEB-INF\pojo\SimpleService.class

This Web axisService has deployment faults
Error: java.lang.ClassNotFoundException: SimpleService at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at org.apache.axis2.util.Loader.loadClass(Loader.java:261) at org.apache.axis2.deployment.POJODeployer.deploy(POJODeployer.java:83) at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813) at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:370) at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:364) at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:73) at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:94) at org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:93) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) 




解决办法:

放到pojo中的class类不能用myeclipse或者eclipse中的bulidpath生成的class,而是用cmd命令中的javac,这样就不会报错了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值