当在已有项目中或是多模块项目中添加webservice,用eclipse的方式自动创建会对当前项目造成混乱,特别是在接口可能随时增减或改动的情况下,这时手动搭建成为了比较靠谱的方式,下面记录下手动创建的过程。这里主要用cmd的命令行脚本。
这里的搭建项目,只是指在工程中建立webservice的环境,仅指添加依赖与添加axis1的web.xml配置,无论是一般的web项目或是maven项目,这些基本的依赖包不可少,可根据实际情况进行版本选择或添加包。
web.xml配置与前一篇的没有差别,如果工程中还有其它功能的配置,请注意顺序。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>axisWeb</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <display-name>Apache-Axis Servlet</display-name> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/servlet/AxisServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>*.jws</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <servlet> <display-name>Axis Admin Servlet</display-name> <servlet-name>AdminServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class> <load-on-startup>100</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AdminServlet</servlet-name> <url-pattern>/servlet/AdminServlet</url-pattern> </servlet-mapping> </web-app>当然要写的接口与服务实现是不可少的,因为要定义webservice接口。
这里用命令行生成一个MainService的服务(以下cmd脚本放在classes目录)
set Axis_Lib=D:\axis-1_4\lib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Output_Path=D:\wsdl\MainService.wsdl set Package=com.estar.service set namespace=urn:mainservice set url=http://localhost:8080/axisWeb/services/MainService %Java_Cmd% org.apache.axis.wsdl.Java2WSDL -o%Output_Path% -l%url% -n%namespace% -p%Package%=%namespace% -y rpc com.estar.service.MainService @echo wsdl已经成功生成 @echo ----------------------------------------- @pause成功后在D:\wsdl\目录里会生成MainService.wsdl的文件。
通过协议文件生成服务端
@echo ----------------------------------------- @echo 设置Output_Path设置为你要生成的路径 @echo Package设置为生成文件的包路径 @echo 最后是wsdl可以是文件路径 可以是URL @echo WSDL2Java -o [放在那个包下面] -d Session -s -S true [wsdl路径] @echo ----------------------------------------- @echo 切换到当前目录 set CURRENT_DIR=