服务器端:
一、首先建立WEB.XML文件的配置映射,当访问services时,调用XFireConfigurableServlet来处理:
…… <web-app>
<servlet> <servlet-name>XFireServlet</servlet-name> <display-name>XFire Servlet</display-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>
二、XFireConfigurableServlet会自动查找classes下的META-INF/xfire/services.xml配置文件,在这个XML配置文件中,把要提供服务类或接口进行绑定,设置其名称、命名空间、需要绑定的类:
<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>MathService</name> <namespace>http://192.168.0.16/MathService</namespace> <serviceClass>lpl.MathService</serviceClass> </service></beans>
三、把需要服务的类或接口编写出来,我的示例是lpl.MathService类:
package lpl;
public class MathService {
public long add(int a,int b){ return a+b+1000; } public long sub(int a, int b){ return a-b+1000; }}
四、把XFire及其需要的包都拷过来。
下载XFire后,解压后有个lib目录,把里面全部的包都拷过来
下载的XFire包也拷过来
五、起动TOMCAT进行服务器端的测试:
输入网址:http://localhost:8080/MathService/services/浏览器会显示你所绑定的类或接口名称,如:
Available Services:
MathService [wsdl]Generated by XFire ( http://xfire.codehaus.org )点击服务名后面的[wsdl],会显示该服务类的详细wsdl描述。(某些浏览器或插件可能会显示失败,我用TW就不能正常访问,所以不行时,换个浏览器试试)