这里举例登陆判断。以后逐渐添加其它强复杂功能。
环境装备: 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 service的servlet-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中,需要单独添加。
......