XFire开发Webservice 1:一个简单的Server

背景:一个公司可能有多个系统,他们各自有不同的用户管理模块,现在需要将用户信息集中起来统一管理,为此开发用户管理系统(UMS),其他系统通过UMS对用户信息进行相关处理

这里举例登陆判断。以后逐渐添加其它强复杂功能。

  环境装备: jdk1.5 tomcat-5.5.25 xfire-distribution-1.2.6.zip

xalan-j_2_7_0-bin.zip

 

1----创建普通web项目ums

2----为简单起见,

xfire-distribution-1.2.6.zip下面的xfire-all-126.jar和其中lib所有jar加到web项目的lib文件夹下; xalan-j_2_7_0-bin.zip下面的xalan.jar serializer.jar也加到web项目的lib文件夹下

注意去掉servlet-api-2.3.jar

 

3:编写接口

package com.honest.service;

 

public interface UserManagerService {

       boolean login(String name,String password);

}

 

4:实现类

package com.honest.service.impl;

import com.honest.service.UserManagerService;

 

public class UserManagerServiceImpl implements UserManagerService {

       public boolean login(String name, String password) {

              if("honest".equals(name) &&

                            "huangcheng".equals(password)){

                     return true;

              }else{

                     return false;

              }

       }

}

4:src下(可以是任何包内,只要是在类路径下)建立META-INF/xfire/services.xml文件。

services.xml

<!—注意大小写-->

<beans xmlns="http://xfire.codehaus.org/config/1.0">

       <service>

              <name>UserManagerService</name>

              <namespace>http://honest.com/UserManagerService</namespace>

              <serviceClass>

                    com.honest.service.UserManagerService

              </serviceClass>

              <implementationClass>

                    com.honest.service.impl.UserManagerServiceImpl

              </implementationClass>

       </service>

</beans>

 

5:web.xml文件添加xfire作为发布web serviceservlet-name

web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

       xmlns="http://java.sun.com/xml/ns/javaee"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

       http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

      

       <display-name>用户管理Server</display-name>

       <description>基于XFire框架发布Web服务的用户管理系统Server</description>

        <servlet>

          <servlet-name>XFireServlet</servlet-name>

          <servlet-class>

              org.codehaus.xfire.transport.http.XFireConfigurableServlet

          </servlet-class>

        </servlet>

      

        <servlet-mapping>

           <servlet-name>XFireServlet</servlet-name>

           <url-pattern>/servlet/XFireServlet/*</url-pattern>

         </servlet-mapping>

      

         <servlet-mapping>

           <servlet-name>XFireServlet</servlet-name>

           <url-pattern>/services/*</url-pattern>

         </servlet-mapping>

</web-app>

 

6:发布该web系统(别说你不知道怎么发布)

7:通过地址http://localhost:8080/ums/services/UserManagerService?wsdl如果能访问到wsdl文件,则说明发布成功。

 

补充:

如果抱异常:

java.lang.NoClassDefFoundError: org/apache/xml/serializer/TreeWalker

XFire1.26需要xalan.jar原本这个类(TreeWalker)是包含在xalan.jar中的,但是xalan-j2.7.0版的发布包中,将serializer包中的类单独打包成serializer.jar,不再包含在xalan.jar中,需要单独添加。 

......

 

你可能感兴趣的:(Web,xml,webservice,servlet,javaee)