您的位置:首页 > 编程语言 > Java开发

Webservice 之eclipse 创建axis1.4项目

2017-07-10 11:01 274 查看
搭建axis1的webservice服务,有多种方式,可以用其自身的API自动生成,也可以用eclipse自带的插件生成eclipse项目。本次简单记录一下eclipse方式的搭建。

eclipse的搭建方式

创建一个普通的web项目,也可以创建一个maven的项目,此处建立一个maven的war项目,结构如下。



其中建立了两个服务类,MainService, CatalogService,这个代码可以按具体需求写,也就是一般的服务类。Param和User是参数实体与返回结果实体。

生成服务端

选中要生成webservice的服务类,右键 New –>Other–>Webservice



后续步骤基本保持默认即可







完成后在web中生成了相关webservice服务端的配置,而且自动加入了相关的依赖包,如下图。



在web.xml中自动加入了相关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><
4000
/span>
</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服务。



这是因为服务并没有注册,需要注册服务。

注册服务

注册服务需要写一个脚本,在项目处于运行状态的时候,将脚本执行,此处用cmd编写如下,此脚本应该放到编译后的classes目录,由于是maven项目,mvn:compile后放在axisWeb\target\classes:

set Axis_Lib=D:\axis-1_4\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/axisWeb/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% G:\eclipse-mar\space\axisWeb\src\main\webapp\WEB-INF\CatalogServiceService\com\estar\service\deploy.wsdd


执行后在容器中的WEB-INI中会生成server-config.wsdd

文件。





以上日志可以看出,已经生成了server-config.wsdd文件,可以将容器(tomcat)中的这个文件copy到项目相应的目录,这样以后就可以不用每次注册服务了,另外如果有多个服务,可以多次注册,系统会自动写入server-config.wsdd文件。

完成



客户端测试

客户端也可以通过eclipse插件生成。步骤如下:

新建java工程,并右键选择webservice客户端



输入wsdl的url





生成客户端程序



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: