使用axis1+spring+hibernate搭建webservice框架(二)

三构建service

1)新建一个类,我们命名它为UserService。该类利用由Spring提供的UserManager Bean,生产用户的增加和删除服务,如下:

01 package com.zuidaima.webservice;
02  
03 import java.util.ArrayList;
04 import java.util.List;
05  
06 import org.apache.commons.logging.Log;
07 import org.apache.commons.logging.LogFactory;
08 import com.zuidaima.beanfactory.BeanxmlFactory;
09 import com.zuidaima.model.User;
10 import com.zuidaima.service.UserManager;
11  
12 public class UserService {
13     private static Log log = LogFactory.getLog(UserService.class);
14     private UserManager userManager = null;
15  
16     /*
17      * 获取spring提供的userManager bean
18      */
19     public UserService() {
20         this.userManager = BeanxmlFactory.getInstance().getUserManager();
21     }
22  
23     /**
24      * 使用信息创建用户
25      *
26      * @param name
27      *            用户名
28      * @param password
29      *            密码
30      * @param nickname
31      *            昵称
32      * @return user‘uid or error code 0 用户名已存在 -1 创建用户出错
33      */
34     
54     /**
55      * 删除用户
56      *
57      * @param uid
58      * @return boolean value
59      */
60     public boolean deleteUser(int uid) {
61         log.info("come in deleteUser method");
62         boolean resultCode = true;
63         try {
64             userManager.deleteUser(uid);
65         catch (Exception e) {
66             log.error("deleteUser have error:", e);
67             resultCode = false;
68         }
69         return resultCode;
70     }
71  
72 }

2)添加axis1所需要的jar包。

复制axis-1_4"lib下所有的包到你的项目lib下。

(可以到apache网站上下载axis-1——4,或者在本文附件中获取)

3)Ok,最重要的一步,也是最奇妙的一步来了,构建server-config.wsdd,即利用axis1搭建webservice服务的描述文件。在web.xml同目录下,新建一xml文件,命名为server-config.wsdd文件类容如下:

01 <?xml version="1.0" encoding="UTF-8"?>
02 <deployment xmlns="http://xml.apache.org/axis/wsdd/"
04     <globalConfiguration>
05         <parameter name="wsdlTargetNamespace" value="http://model.yoo.org" />
06         <parameter name="adminPassword" value="admin" />
07         <parameter name="attachments.implementation"
08             value="org.apache.axis.attachments.AttachmentsImpl" />
09         <parameter name="sendXsiTypes" value="true" />
10         <parameter name="sendMultiRefs" value="true" />
11         <parameter name="sendXMLDeclaration" value="true" />
12         <parameter name="axis.sendMinimizedElements" value="true" />
13         <requestFlow>
14             <handler type="java:org.apache.axis.handlers.JWSHandler">
15                 <parameter name="scope" value="session" />
16             </handler>
17             <handler type="java:org.apache.axis.handlers.JWSHandler">
18                 <parameter name="scope" value="request" />
19                 <parameter name="extension" value=".jwr" />
20             </handler>
21         </requestFlow>
22     </globalConfiguration>
23     <handler name="LocalResponder"
24         type="java:org.apache.axis.transport.local.LocalResponder" />
25     <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
26     <handler name="Authenticate"
27         type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
28     <!--服务的名称 -->
29     <service name="UserService" provider="java:RPC">
30         <parameter name="scope" value="Request" />
31         <!--所有的方法都可以访问 -->
32         <parameter name="allowedMethods" value="*" />
33         <!-- 服务指向的类 -->
34         <parameter name="className" value="com.zuidaima.webservice.UserService" />
35     </service>
36     <!-- other service -->
37     <!-- 可以部署多个服务 -->
38     <!-- <service name="balabala" provider="java:RPC"> <parameter name="allowedMethods"
39         value="*"/> <parameter name="scope" value="Request"/> <parameter name="className"
40         value="balabala"/> </service> -->
41     <!-- axis1 -->
42     <service name="AdminService" provider="java:MSG">
43         <parameter name="allowedMethods" value="AdminService" />
44         <parameter name="enableRemoteAdmin" value="false" />
45         <parameter name="className" value="org.apache.axis.utils.Admin" />
46         <namespace>http://xml.apache.org/axis/wsdd/</namespace>
47     </service>
48     <service name="Version" provider="java:RPC">
49         <parameter name="allowedMethods" value="getVersion" />
50         <parameter name="className" value="org.apache.axis.Version" />
51     </service>
52     <transport name="http">
53         <requestFlow>
54             <handler type="URLMapper" />
55             <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
56         </requestFlow>
57     </transport>
58     <transport name="local">
59         <responseFlow>
60             <handler type="LocalResponder" />
61         </responseFlow>
62     </transport>
63 </deployment>

4)最后一步,需要使用tomcat支持我们搭建的webservice。编辑web.xml,编辑后的文件内容如下:

01 <?xml version="1.0" encoding="ISO-8859-1"?>
02  
03 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
04 Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
05  
06 <web-app>
07     <display-name>aoservice-axis1</display-name>
08  
09     <listener>
10         <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
11     </listener>
12  
13     <servlet>
14         <servlet-name>AxisServlet</servlet-name>
15         <display-name>Apache-Axis Servlet</display-name>
16         <servlet-class>
17             org.apache.axis.transport.http.AxisServlet
18         </servlet-class>
19     </servlet>
20  
21     <servlet>
22         <servlet-name>AdminServlet</servlet-name>
23         <display-name>Axis Admin Servlet</display-name>
24         <servlet-class>
25             org.apache.axis.transport.http.AdminServlet
26         </servlet-class>
27         <load-on-startup>100</load-on-startup>
28     </servlet>
29  
30     <servlet>
31         <servlet-name>SOAPMonitorService</servlet-name>
32         <display-name>SOAPMonitorService</display-name>
33         <servlet-class>
34             org.apache.axis.monitor.SOAPMonitorService
35         </servlet-class>
36         <init-param>
37             <param-name>SOAPMonitorPort</param-name>
38             <param-value>5001</param-value>
39         </init-param>
40         <load-on-startup>100</load-on-startup>
41     </servlet>
42  
43     <servlet-mapping>
44         <servlet-name>AxisServlet</servlet-name>
45         <url-pattern>/servlet/AxisServlet</url-pattern>
46     </servlet-mapping>
47  
48     <servlet-mapping>
49         <servlet-name>AxisServlet</servlet-name>
50         <url-pattern>*.jws</url-pattern>
51     </servlet-mapping>
52  
53     <servlet-mapping>
54         <servlet-name>AxisServlet</servlet-name>
55         <url-pattern>/services/*</url-pattern>
56     </servlet-mapping>
57  
58     <servlet-mapping>
59         <servlet-name>SOAPMonitorService</servlet-name>
60         <url-pattern>/SOAPMonitor</url-pattern>
61     </servlet-mapping>
62  
63     <!-- uncomment this if you want the admin servlet -->
64     <!-- <servlet-mapping> <servlet-name>AdminServlet</servlet-name> <url-pattern>/servlet/AdminServlet</url-pattern>
65         </servlet-mapping> -->
66  
67     <session-config>
68         <!-- Default to 5 minute session timeouts -->
69         <session-timeout>5</session-timeout>
70     </session-config>
71  
72     <!-- currently the W3C havent settled on a media type for WSDL; http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft
73         for now we go with the basic 'it's XML' response -->
74     <mime-mapping>
75         <extension>wsdl</extension>
76         <mime-type>text/xml</mime-type>
77     </mime-mapping>
78  
79  
80     <mime-mapping>
81         <extension>xsd</extension>
82         <mime-type>text/xml</mime-type>
83     </mime-mapping>
84  
85     <welcome-file-list id="WelcomeFileList">
86         <welcome-file>index.jsp</welcome-file>
87         <welcome-file>index.html</welcome-file>
88         <welcome-file>index.jws</welcome-file>
89     </welcome-file-list>
90  
91 </web-app>

项目截图:

使用axis1+spring+hibernate搭建webservice框架


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值