设为首页
收藏本站
开启辅助访问
用户名
Email
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
本版
帖子
用户
快捷导航
首页
List
论坛
BBS
关于组织
爱生活
Moke|墨客
»
论坛
›
会员互动区
›
公开数据
›
Java web Service 引擎 Xfire 图文教程
返回列表
查看:
8764
|
回复:
0
Java web Service 引擎 Xfire 图文教程
[复制链接]
pasckr
pasckr
当前离线
积分
3681
窥视卡
雷达卡
3636
主题
0
回帖
3681
积分
超级版主
积分
3681
发消息
发表于 2016-5-12 18:14:09
|
显示全部楼层
|
阅读模式
1、给web项目添加web service支持,web.xml文件会自动修改。
<SERVLET-NAME>
XFireServlet
</SERVLET-NAME>
<SERVLET-CLASS>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</SERVLET-CLASS>
<LOAD-ON-STARTUP>
0
</LOAD-ON-STARTUP>
<SERVLET-MAPPING>
<SERVLET-NAME>
XFireServlet
</SERVLET-NAME>
<URL-PATTERN>
/services/*
</URL-PATTERN>
</SERVLET-MAPPING>
2、 创建对外提供的服务接口和实现类
接口:HelloService
package
com.xaccp.service;
public
interface
HelloService {
public
String
sayHello
(String name);}
实现类:HelloServiceImpl
package
com.xaccp.service;
public
class
HelloServiceImpl
implements
HelloService {
public
String
sayHello
(String name) { System.out.
println
(
"来自客户端的用户:"
+ name);
return
"服务器说你好:"
+ name; }}
3、 发布服务
上面发布后 services.xml 就发生下面的变化
<?xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<beans
xmlns
=
"http://xfire.codehaus.org/config/1.0"
>
<service>
<name>
Hello
</name>
<serviceClass>
com.xaccp.service.HelloService
</serviceClass>
<implementationClass>
com.xaccp.service.HelloServiceImpl
</implementationClass>
<style>
wrapped
</style>
<use>
literal
</use>
<scope>
application
</scope>
</service>
</beans>
到此服务器端就ok了,测试一下是否ok,发布服务到Tomcat;启动Tomcat,访问:http://localhost:8080/helloService/services,出现如下信息说明发布成功
4、 客户端
创建web项目(需要添加xFire包)或webService项目,需要服务器提供接口:
测试类:
public
static
void
main
(String[] args) {
// 创建服务的元数据
Service serviceModel =
new
ObjectServiceFactory
().
create
(HelloService.
class
);
// 创建服务的代理
XFire xfire = XFireFactory.
newInstance
().
getXFire
();XFireProxyFactory factory =
new
XFireProxyFactory
(xfire);
// 指定服务的地址 应用程序地址+“/services/”+服务名称
String serviceUrl =
"http://192.168.0.98:8080/helloService/services/Hello"
;HelloService client =
null
;
try
{
// 创建服务的对象
client = (HelloService) factory.
create
(serviceModel, serviceUrl);
// 调用服务
String res = client.
sayHello
(
"哈哈"
);System.out.
println
(res);}
catch
(MalformedURLException e) {System.out.
println
(
" "
+ e.
getMessage
());}}
本文由北大青鸟论坛投稿,原文地址:http://www.beiniao.net/thread-3174-1-1.html
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表