`
xvm03
  • 浏览: 140695 次
  • 来自: ...
社区版块
存档分类
最新评论

xfire 1.2 实现webservice完整流程--ZT

阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics