Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66553
  • 博文数量: 8
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-09 13:43
文章分类
文章存档

2011年(1)

2010年(2)

2009年(2)

2008年(3)

我的朋友

分类: Java

2009-12-13 20:14:57

关于Java开发Web Service网上已经有很多文章了,我看的是《简单的webservice开发例子》(URL:)。这里想说的是在调试过程中遇到的问题。环境:Windows XP + jdk1.5 + tomcat5.5,假定你的JAVA和TOMCAT均已经配置完成并正常工作。

1.按文章中的介绍做好Web Service的配置和源代码编辑。

2.编译“SayHelloClient2”,注意,此时要加classpath参数,命令如下:

javac -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar SayHelloClient2.java

3.运行生成的class。 这里是出问题最多的。下面用命令,结果的方式描述。

[command]prompt> java -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar SayHelloClient2

[result] Exception in thread "main" java.lang.NoClassDefFoundError: SayHelloClient2/java

原因:要将java默认包的路径加到classpath中。
[command]prompt> java -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar;./ SayHelloClient2.java

[result] Exception in thread "main" 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 SayHelloClient2.main(SayHelloClient2.java:12)

原因:没有找到“commons-logging.jar”包
[command]prompt> java -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar;./lib/commons-logging-1.0.4.jar;./ SayHelloClient2.java

[result] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton

        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 SayHelloClient2.main(SayHelloClient2.java:12)

原因:没有找到“commons-discovery.jar”包
[command]prompt> java -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar;./lib/commons-logging-1.0.4.jar;./lib/commons-discovery-0.2.jar;./ SayHelloClient2.java

[result] Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException

        at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)

        at org.apache.axis.AxisEngine.init(AxisEngine.java:172)

        at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)

        at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)

        at org.apache.axis.client.Service.getAxisClient(Service.java:104)

        at org.apache.axis.client.Service.<init>(Service.java:113)

        at SayHelloClient2.main(SayHelloClient2.java:12)

原因: 没有找到“saaj.jar”包

[command] java -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar;./lib/commons-logging-1.0.4.jar;./lib/commons-discovery-0.2.jar;./lib/saaj.jar;./ SayHelloClient2.java

[result] 2009-12-13 20:09:59 org.apache.axis.utils.JavaUtils isAttachmentSupported

警告: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

return value is Hello zhangsan
 
其实到这里,已经可以运行,并得到结果了。警告的原因是没有找到“mail.jar”和“activation.jar”包。
[command] java -classpath %classpath%;./lib/axis.jar;./lib/jaxrpc.jar;./lib/commons-logging-1.0.4.jar;./lib/commons-discovery-0.2.jar;./lib/saaj.jar;./lib/mail-1.4.jar;./lib/activation-1.1.jar;./ SayHelloClient2.java

[result] return value is Hello zhangsan


以上是调试的过程。
阅读(1824) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~