(三) 用Axis发布程序
1 . 下载 axis-src-1_4.zip 并解压到 D:/axis/axis-1_4
2 . 把D:/axis/axis-1_4/webapps下的aixs文件夹 copy 到 D:/tomcat5.5/webapps
3 . 启动tomcat 在浏览器输入 http://localhost:8080/axis 出现Apache-AXIS 首页 (如下图)
4 . 点击Validation 验证, 一般会有3-4个jar包 提示找不到, 下载这些jar包 放到D:/tomcat5.5/webapps/axis/WEB-INF/lib下, 重新验证后 会显示正常的欢迎页面(如下图)
5 . 一切就绪后 可以着手发布服务器程序了. 把用eclipse编写的源文件的.class文件, 连同包的路径 copy 到 tomcat -- axis -- classese 路径下.(D:/spume/e-workspace/V_Gsystem/WebRoot/WEB-INF/classes下的cn文件夹 copy 到D:/tomcat5.5/webapps/axis/WEB-INF/classes 下)
6 . 用axis定制发布(wsdd)服务器端程序 ※import
在tomcat_home/webapps/axis/WEB-INF 下新建deploy.wsdd文件 和 批处理文件deploy.bat
deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="WQservice" provider="java:RPC">
<parameter name="className" value="cn.spume.web.HningWQ"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
在这里服务的提供者是“java:RPC”,它被内建在axis中,而且指明了一个JAVA RPC服务,做这个处理的类是org.apache.axis.providers.java.RPCProvider。
我们是通过一个<parameter>标签告诉RPC服务应该调用的类,而另外一个<parameter>标签则告诉引擎,它可以调用这个类中的任何的Public方法。你也可以指定通过使用名字空间或者一些可以调用的方法列表,来指明那些方法可以被调用。
deploy.bat
set JAVA_HOME=C:/Program Files/Java/jdk1.5.0
set CATALINA_HOME=D:/tomcat5.5
set classpath=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;
set Path=%Path%;%JAVA_HOME%/bin;%CATALINA_HOME%/bin
set AXIS_HOME=D:/tomcat5.5/webapps/axis
set AXIS_LIB=%AXIS_HOME%/WEB-INF/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%/log4j-1.2.8.jar;%AXIS_LIB%/activation.jar;%AXIS_LIB%/mail.jar;%AXIS_LIB%/wsdl4j-1.5.1.jar;%AXIS_LIB%/axis-ant.jar;%AXIS_LIB%/xmlsec.jar
set classpath=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%CATALINA_HOME%/common/lib/servlet.jar;
java -Djava.ext.dirs="d:/tomcat5.5/webapps/axis/WEB-INF/lib" org.apache.axis.client.AdminClient deploy.wsdd
7 . 启动tomcat 双击deploy.bat 可以看到以下运行结果:
Processing file deploy.wsdd
<Admin>Doneprocessing</Admin>
这表明服务定制发布完成。这时会在相同文件夹生成server-config.wsdd, 这就是我们所需要的. 用UltraEdit打
开可以看到服务WQservice 已经在其中
打开浏览器 http://localhost:8080/axis/services 可以看到 所有的服务列表
编写的4个功能接口也在服务器名下显示. 点击wsdl 就可以得到服务器全路径地址. 客户端根据这个地址就可
以调用服务器.
这样,完整的web service 从编写到发布就完成了. ^_^