您的位置:首页 > 其它

关于pojo发布webservice出现的问题

2016-12-05 19:12 295 查看
今天,在研究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,这样就不会报错了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: