Webservice开发
1. 发布环境:win2000 Professional + JDK1.4.2_03 + Tomcat5
2. 下载Axis,解压缩,将其webapps目录下的axis拷贝到tomcat的webapps目录下,进行访问测试,http://localhost:8080/axis/ 出现正常页面即可。
3. 下载包含wtp的Eclipse,解压缩
4. 新建动态Web Project,比如ca3,将axis下的jar包导入该项目的编译环境里,在JavaSource中写java程序比如caSynrochnized,写好后,在上面点右键,选择Create Web Service按照默认设置,即可生成Web Service
在tomcat下部署
5. 生成后,将eclipse下ca3\.deployables下的ca3目录拷贝到tomcat的webapps目录下
6. 设置axis的环境变量,如下
a) AXIS_HOME E:\Tomcat5.0\webapps\axis
b) AXIS_LIB %AXIS_HOME%\WEB-INF\lib
c) Classpath .;%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar; %AXIS_LIB%\wsdl4j-1.5.1.jar;
7. 在E:\Tomcat 5.0\webapps\ca3\WEB-INF\caSynrochnizedService\com\hshz\ca找到deploy.wsdd文件,在dos命令行状态下进入上面目录,运行以下命令进行发布 java org.apache.axis.client.AdminClient deploy.wsdd
8. 在IE中输入http://localhost:8080/ca3/services可以看到已发布的webservice
在E:\Tomcat 5.0\webapps\ca3\wsdl目录下找到wsdl文件,最后几行比如<wsdlsoap:address location="http://localhost:8080/ca3/services/caSynrochnized"/>其中的location才是web Service相互调用的地址,另外localhost改为自己的IP地址。
Webservice的重新部署
对于已发布的服务,修改接口后,直接将发布目录下的wsdl,以及wsdd,classes,service文件夹拷贝到tomcat相应目录下,不用重新发布即可。可先在浏览器中输入地址/services进行查看。
部署时可能遇到的问题
1) 在dos窗口下执行java org.apache.axis.client.AdminClient deploy.wsdd命令时,出现404错误,此时可能你的tomcat服务器没有启动,请先启动tomcat服务器。
2) 不同系统安装相同的jdk版本,发布webservice服务时,可能会出现unsupportedVersionException,如果在IE下敲入http://localhost:8080/java-oa/services,发现服务已经发布成功,并且点wsdl链接能够显示wsdl文件,则此错误可以忽略
3) 如果发现在启动tomcat时,出现server-config.wsdd文件需要type,handle一类的错误,则有可能你的应用下存在gnujaxp.jar,因为这个jar包会与axis所需要的jar包相冲突,将gnujaxp.jar拷贝到common\lib下即可。
4) 如果webservice中的方法名字或者参数名或者参数数目,更改后需要重新发布webservice
提供webservice中的程序在方法名,参数不变的情况下,重新编译后只需要覆盖原来的类即可。