您的位置:首页 > 其它

xfire 1.2 实现webservice完整流程

2008-05-06 10:24 344 查看
xfire 1.2 实现webservice完整流程

1.打开 myeclipse 60 点击 file -->new -->web service project
Project name 为 xfirewebservice --》 finash

2.src目录下创建 包和相应的 java文件 如下所示:MathService.java
/**
*
*/
package com.test.ws;

/**
* @author Administrator
*implements IMath
*/
public class MathService {
public long add(int p1, int p2) {
return p1 + p2;
}

public long minus(int p3, int p4) {
// TODO Auto-generated method stub
return p3 -p4;
}
}

3. 修改 WebServices 文件夹下的 services.xml文件 ,内容如下:
服务名称MathService url :http://localhost:8080/WebserviceTest/MathService
完成服务的 类 <serviceClass>com.test.ws.MathService</serviceClass>
将 WebserviceTest 替换为自己的 项目名称
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>MathService</name>
<namespace> http://localhost:8080/WebserviceTest/MathService </namespace>
<serviceClass>com.test.ws.MathService</serviceClass>
</service>
</beans>
4. 部署 webservice
在浏览器 输入 http://localhost:8080/WebserviceTest/services/ 出现如下提示 :
Available Services:

MathService [wsdl]

Generated by XFire ( http://xfire.codehaus.org )
表示 服务 启动成功, 至此 服务部署完成

测试 服务 :
项目中 需要引入 commons-httpclient-3.0.1.jar包 拷贝至 webroot下的 web-inf目录下的 lib目录中 即可
1. 编写 接口文件
package com.webservice.client;

public interface IMath {
long add(int p1,int p2);
long minus(int p3,int p4 );
}
2. 编写调用 文件
/**
*
*/
package com.webservice.client;

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;

/**
* @author Administrator
*
*/
public class Client {
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/WebserviceTest/services/MathService";
try {
//接口文件 说明有 哪些函数 可以用, helloWorldURL 提示 服务在哪里
IMath srvc = (IMath) factory.create(srvcModel, helloWorldURL);
// srvc.add(124, 456);
System.out.println("调用函数 add得到结果 :" + srvc.add(1516, 1515));
System.out.println("调用函数 minus得到结果 :" + srvc.minus(1516, 1515));
} catch (MalformedURLException e) {
e.printStackTrace();
}

}
}

测试结果如下 :
调用函数 add得到结果 :3031
调用函数 minus得到结果 :1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: