当前位置: 代码迷 >> Web前端 >> Web Service 之 axis (四)――自动部署篇
  详细解决方案

Web Service 之 axis (四)――自动部署篇

热度:392   发布时间:2012-11-26 11:48:49.0
Web Service 之 axis (4)――自动部署篇
自动部署
1、新建web project项目TestAxis
2、编写服务端程序 com.demo.axis.HelloWorld.java
3、将解压后的axis-1_4\webapps\axis\WEB-INF目录下的web.xml文件与lib文件夹复制到TestAxis项目的WEB-INF目录下。
4、在TestAxis项目的WEB-INF目录下新建deploy.wsdd文件(参考手动发布)
5、编写deploy.bat,与deploy.wsdd放在同一目录
6、将TestAxis部署到tomcat-5.0.28中,启动服务。(服务没有启动报:java.net.ConnectException: Connection refused: connect异常)
7、执行TestAxis目录或TestAxis部署目录下的deploy.bat文件,双击就可以。TestAxis部署目录的WEB-INF目录中将生成server-config.wsdd文件(AXIS的配置文件)
8、打开浏览器,输入:http://localhost:8080/TestAxis/services 你就会看到你的服务已发布。

deploy.bat

set Axis_Lib=TestAxis项目所在目录(E:TestAxis)\WebRoot\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/TestAxis/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd

注意Axis_Lib目录不能有空格,否则会报错
生成服务器server文件
wsdl2java_server.bat

set Axis_Lib=TestAxis项目所在目录(E:TestAxis)\WebRoot\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=TestAxis项目所在目录(E:TestAxis)\src
set Package=com.demo.axis.server
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java   -D -s -S true -d session  -o%Output_Path% -p%Package% HelloWorld.wsdl

生成客户端client stub文件
在浏览器上访问服务器端的服务,可以下载WSDL文件到目TestAxis项目的WEB-INF目录下,命名为HelloWorld.wsdl
或者
编写一个批处理文件如:Java2WSDL.bat,放在TestAxis项目的WEB-INF目录下,其内容如下:
set Axis_Lib=TestAxis项目所在目录(E:TestAxis)\WebRoot\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
cd classes
%Java_Cmd% org.apache.axis.wsdl.Java2WSDL -o ../HelloWorld.wsdl -l"http://localhost:8080/TestAxis/services/HelloWorld" -n "urn:axis.demo.com" com.demo.axis.HelloWorld
执行这个批处理文件就可以生成HelloWorld.wsdl
注意urn的写法。

通过Axis的相关工具,可以自动从WSDL文件中生成Web Service的客户端代码。
编写一个wsdl2java_client.bat文件,其内容如下:
set Axis_Lib=TestAxis项目所在目录(E:TestAxis)\WebRoot\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=TestAxis项目所在目录(E:TestAxis)\src
set Package=com.demo.axis
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% HelloWorld.wsdl
执行这个批处理文件就可以生成client stub.
生成的stub client文件列表为:HelloWorld.java,HelloWorldService.java,HelloWorldServiceLocator.java,HelloWorldSoapBindingStub.java.
  相关解决方案