第一次利用Axis,小结如何成功构建第一个例子
?
最近在学习WebService,在javaeye上找到了某位大牛写的《Web_Service_开发指南》来看,并照着做。可惜,在做最简单的例子HelloWorld时都会发生诸如下面的错误,还好,问题都在自己探索中解决了,并及时来总结一下!(某些大牛们,就不要笑话了,在发现这个问题的时候,一句话,就是自己心太急于想搞好第一个例子,而忽略了基本环境的配置,呵呵)
下面是碰到的Error etc.:
<faultstring>The AXIS engine could not find a target service to invoke! targetService is null</faultstring>
<faultactor></faultactor>
<detail><ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">abcl100014app17</ns2:hostname>
</detail>
?
其实出现这类似的错误,在我自己这次的实践中,最大的问题就是axis服务器本身配置的问题,和环境变量的问题!
首先说axis服务器的配置,当你把解压后的包中的webapps的工程axis拷贝到tomcat中部署后,并在浏览器中打开连接:http://127.0.0.1:8080/axis/??
可以打开Validation 这个链接后,你可以知道你的axis缺少那些jar包,初次的一般都会提示mail.jar,activation.jar etc的缺失!当然,这些都可以在网上找到,就不说了,只需记得放在WEB-INF/lib目录下。
axis的服务器配置,也只需把解压包解压放在任意路径下(我的是F:\software\java tools\axis-1_4),这里要注意的是把那些缺失的jar包都记得放在axis_home目录下的lib目录下,否则,上面那错误就会”光临“了。
检测axis服务器的最好办法就是写个简单的例子啦!(其过程吗,就像平时写web一样,要记得把编译后的.class文件连同包结构拷贝到WEB-INF/classes目录下)
再在WEB-INF目录下打开CMD命令窗口,输入以下命令:
D:\Software\%TOMCAT_HOME%\webapps\axis\WEB-INF>java -D org.apache.axis.client.AdminClient deploy.wsdd
运行后,出现下面的内容,就OK了
Processing file deploy.wsdd
<Admin>Done processing</Admin>
?
我电脑环境变量的配置(注意的是这个我没验证过是否必须配置),就简单的贴上吧:
AXIS_HOME:F:\software\java tools\axis-1_4
AXIS_LIB:%AXIS_HOME%\lib;
AXISCLASSPATH:.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.2.8.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\mail.jar;%AXIS_HOME%\lib\activation-1.1.jar;%AXIS_HOME%\lib\xmlsec-1.2.1.jar;%AXIS_HOME%\lib\xalan.jar;
最后把AXISCLASSPATH放在CLASSPATH中:
CLASSPATH:.;%AXISCLASSPATH%
?
这个写的好乱!
?
?