服务器端:
一、首先建立WEB.XML文件的配置映射,当访问services时,调用XFireConfigurableServlet来处理:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
二、XFireConfigurableServlet会自动查找classes下的META-INF/xfire/services.xml配置文件,在这个XML配置文件中,把要提供服务类或接口进行绑定,设置其名称、命名空间、需要绑定的类:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>MathService</name>
<namespace>
http://localhost:8080/TestService/MathService
</namespace>
<serviceClass>com.test.ws.MathService</serviceClass>
</service>
<service>
<name>DelService</name>
<namespace>
http://localhost:8080/TestService/DelService
</namespace>
<serviceClass>com.test.ws.DelService</serviceClass>
</service>
</beans>
三、把需要服务的类或接口编写出来,我的示例是lpl.MathService类:
package com.test.ws;
public class MathService {
public long add(int p1, int p2) {
return p1 + p2;
}
}
package com.test.ws;
public class DelService {
public long minus(int p3, int p4) {
return p3 - p4;
}
}
四、把XFire及其需要的包都拷过来。
下载XFire后,解压后有个lib目录,把里面全部的包都拷过来
下载的XFire包也拷过来
五、起动TOMCAT进行服务器端的测试:
输入网址:http://localhost:8080/TestService/services/
浏览器会显示你所绑定的类或接口名称,如:
AvailableServices:
- MathService[wsdl]
- DelService[wsdl]
GeneratedbyXFire(http://xfire.codehaus.org)
点击服务名后面的[wsdl],会显示该服务类的详细wsdl描述。(某些浏览器或插件可能会显示失败,我用TW就不能正常访问,所以不行时,换个浏览器试试)
客户端
package other;
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.test.*;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
Service srvcModel = new ObjectServiceFactory().create(IMath.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String helloWorldURL = "http://localhost:8080/ServiceTest/services/Math";
try {
IMath srvc = (IMath) factory.create(
srvcModel, helloWorldURL);
System.out.print(srvc.add(1515,1515));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
XFire建立Webservice实例,入门级别,适XFire建立Webservice实例,入门级别,XFire建立Webservice实例,入门级别,适合初学者适合初学者合初学者
xfire实现webservice实例,XFire WebService开发快速起步
xFire WebService 实例开发
xfire的一个完整实例,不过我建议大家,学习完理论知识后,根据自己学得知识,手动练习一下,遇到异常就百度,一下,这样比较好!
xfire简单实例发布webservice,引用到2个jar包的简单例子
MyEclipse下XFire开发Webservice实例.doc 基于XFire开发Webservice实例。
XFire建立Webservice实例
XFireWebService工程代码(不包含xfire相关jar包), 博文链接:https://sailinglxg.iteye.com/blog/173679
XFire建立Webservice实例
用java通过xfire框架实现ws,实现正向生成wsdl文件,并由wsdl逆向生成java ws客户端代码 测试输入:http://localhost:8080/webservice-xfire/services/CalculatorService?wsdl
myeclipse xfire 开发webservice实例
xfire-webservice实例(下载即可运行) xifre小例子 xfire实例 xfire 内含jar包
本文详细介绍了利用xfire组件实现webservice的服务端和客户端实例,适合入门参考和使用!
这是一个完整的在ECLIPSE下利用Xfire框架开发的一年webservice所用的数据库为sqlserver2005.下载后只要工程导入ECLIPSE中即可.
xfire开发webservice与调用 用起来比axis简单,容易上手。没有axis那么复杂。性能也比axis好。附件里面包含教程文档及实例代码
NULL 博文链接:https://yanzhenwei.iteye.com/blog/904022
方便你快速开发一个webservice 案例
NULL 博文链接:https://dongisland.iteye.com/blog/1454099