100分求助使用axis开发web services的问题

chinaskyone 2003-09-15 12:09:54
上一次发贴子,本来可以了,可是现在又不行了,到底是什么问题呀?
我根据这篇文章:

http://www-900.ibm.com/developerWorks/cn/webservices/ws-startaxis/index.shtml

做了一个web services应用,前面都很顺利,可是在我生成java客户端,就是运行

Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl

时,出现如下错误:

C:\Tomcat5\webapps\axis\WEB-INF>Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WS
DL2Java http://localhost:8080/axis/Hello.jws?wsdl
java.lang.NoClassDefFoundError: javax/activation/DataSource
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory.class$(J
AFDataHandlerSerializerFactory.java:76)
at org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory.getSeria
lizerClass(JAFDataHandlerSerializerFactory.java:85)
at org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory.<init>(J
AFDataHandlerSerializerFactory.java:73)
at org.apache.axis.encoding.DefaultTypeMappingImpl.<init>(DefaultTypeMap
pingImpl.java:154)
at org.apache.axis.encoding.DefaultTypeMappingImpl.<init>(DefaultTypeMap
pingImpl.java:130)
at org.apache.axis.encoding.DefaultTypeMappingImpl.getSingleton(DefaultT
ypeMappingImpl.java:124)
at org.apache.axis.wsdl.toJava.Emitter$1.<init>(Emitter.java:524)
at org.apache.axis.wsdl.toJava.Emitter.setTypeMappingVersion(Emitter.jav
a:522)
at org.apache.axis.wsdl.toJava.Emitter.setup(Emitter.java:407)
at org.apache.axis.wsdl.toJava.Emitter.run(Emitter.java:385)
at org.apache.axis.wsdl.gen.WSDL2.run(WSDL2.java:311)
at org.apache.axis.wsdl.WSDL2Java.main(WSDL2Java.java:290)

C:\Tomcat5\webapps\axis\WEB-INF>

但是我得类路径中已经设置了activation.jar包,那个类就在这个包中:
C:\Tomcat5\webapps\axis\WEB-INF>set classpath
CLASSPATH=.;d:\sybase\ASEP\3pclass.zip;d:\sybase\ASEP\monclass.zip;c:\j2sdk\lib\
tools.jar;C:\j2sdkee\lib\j2ee.jar;D:\mylib\xalan\bin\xercesImpl.jar;D:\mylib\xal
an\bin\xalan.jar;D:\mylib\xerces\xercesSamples.jar;D:\mylib\xerces\xercesImpl.ja
r;C:\Tomcat5\common\lib\jasper-compiler.jar;C:\Tomcat5\common\lib\jasper-runtime
.jar;D:\mylib\jdom\build\jdom.jar;C:\Tomcat5\common\lib\soap.jar;C:\Tomcat5\comm
on\lib\saaj.jar;C:\Tomcat5\common\lib\commons-logging.jar;C:\Tomcat5\common\lib\
jaxrpc.jar;C:\Tomcat5\common\lib\commons-discovery.jar;C:\Tomcat5\common\lib\wsd
l4j.jar;C:\Tomcat5\common\lib\log4j-1.2.8.jar;C:\Tomcat5\common\lib\axis-ant.jar
;C:\Tomcat5\common\lib\axis.jar;C:\Tomcat5\common\lib\activation.jar;C:\Tomcat5\
common\lib\xmlsec.jar;C:\Tomcat5\common\lib\mail.jar;D:\mylib\jaf\activation.jar

运行完毕,tomcat自己也出错了,自动关闭,百思不得其解,谁能帮我?
...全文
31 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaskyone 2003-09-15
  • 打赏
  • 举报
回复
谢谢,马上结贴。
chinaskyone 2003-09-15
  • 打赏
  • 举报
回复
搞定。
junnef 2003-09-15
  • 打赏
  • 举报
回复
呵呵,我又找到个解决问题的办法,把哪写文章中说的放到common/lib下的类放到axis/web-inf/lib中就行了,这个在作怪-Djava.ext.dirs=lib,制定使用当前目录下的lib下的类。
junnef 2003-09-15
  • 打赏
  • 举报
回复
呵呵,他那篇文章的确有点问题,上一次让你提前类路径拿了你50份没解决问题,给个简单办法,修改它哪个命令:
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
为:
Java org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
在web-inf下试试看,肯定没问题了。你得包找不到应该是路径的问题。 我的通过了。
chinaskyone 2003-09-15
  • 打赏
  • 举报
回复
我又遇到了不能编译的问题,好多包找不到。
chinaskyone 2003-09-15
  • 打赏
  • 举报
回复
我看了看,上次提前classpath中activation.jar的路径是不正确的,他那篇文章有点问题,不应该在WEB-INF下之行,而应该在axis文件夹下执行,就是再向上一个目录,想着你成功执行的那次就没在WEB-INF下执行,好运。
biggie 2003-09-15
  • 打赏
  • 举报
回复
classpath问题

>set classpath=.............
别忘了tomcat下的activation.jar
liad 2003-09-15
  • 打赏
  • 举报
回复
我刚才试了试,好象也是这个错误,用下面这个方法吧
wsdl2java.bat
=============
set AXIS_HOME=E:\jboss-3.2.1_tomcat-4.1.24\server\default\deploy\axis.war\WEB-INF
set AXIS_LIB=%AXIS_HOME%\lib
set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;%AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\wsdl4j.jar

java -cp .;"%AXISCLASSPATH%" org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
pause

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧