使用Myeclipse开发基于xfire的Web Services 入门

 
如今技术更新的太快了,你稍不留神就会错过很多东西,今天花了些时间研究了下xfire,但是当我写完demo的时候,百度相关信息时发现xfire已经停止更新了,CXF做为xfire的下一代产品将完全替代xfire,看来我是落伍了,既然demo已经写完了,还是共享出来吧,虽然CXF已经开始运作,但是短时间内xfire还是会占据一定市场的。
至于我为什么没有选择axis,主要还是因为axis上手太麻烦了,同时听说也比较慢,于是就选择了xfire。
做为一个初次开发web services程序的我,试图编写最简练的示例代码来入门,刚刚就写了一个超级简单的示例,但是广例子简单是不行的,好用的工具总是比手工coding好的多。
谈谈开发工具,起初我想使用wtp,因为我正在试图放弃myeclipse,我依稀的记得wtp的新建工程里面有web services选项,于是经过一番尝试发现wtp是基于axis的,比较郁闷。只有又捡起myeclipse。
有心的同学可能会发现,在myeclipse的新建工程向导对话框中,有一个web services project 选项,下面逐步说明:
1.New->project->MyEclipse->Java Enterprise Projects->web service project->给工程起个名字,我起名为WebServicesDemo,在Web Service& J2EE Details中选择XFire(deprecated)注意这里其实已经说明了(已废弃)我刚刚在写demo的时候没有看到,晕。
2.点击下一步,填写用于提供服务的Servlet信息,因为我也是初次尝试所以都保留了默认值,下一步选择依赖的jar包,建议从官方网站上下载,不使用myeclipse提供的。
官方网站地址 http://xfire.codehaus.org/
下载xfire-distribution-1.2.6.zip和 xfire-all-1.2.6.jar
依赖包介绍 http://xfire.codehaus.org/Dependency+Guide 这里有介绍那些包必须引那些包可以不引。引过包后点finish。
3.编写测试代码:
package com.syj.ws;
 
/**
  * <p> Title: 服务的接口 </p>
  *
  * <p>
  * Copyright: 转载请注明出处 http://blog.csdn.net/sunyujia/
  * </p>
  *
  * @author 孙钰佳
  * @main sunyujia@yahoo.cn
  * @date Jul 13, 2008 12:25:41 PM
  */
public interface MyServer {
    public String getTestStr();
}
package com.syj.ws;
 
/**
  * <p>
  * Title: 服务的实现
  * </p>
  *
  * <p>
  * Copyright: 转载请注明出处 http://blog.csdn.net/sunyujia/
  * </p>
  *
  * @author 孙钰佳
  * @main sunyujia@yahoo.cn
  * @date Jul 13, 2008 12:26:19 PM
  */
public class MyServerImpl implements MyServer {
 
    public String getTestStr() {
       return "this is demo" ;
    }
 
}
4. 配置services.xml,在没尝试web services之前就发现了这个按钮,但在昨天我还不知道它的真正用途。
这里点击第一个,可在services.xml中生成相关配置,稍后会使用第二个生成客户端程序。
生成services.xml的内容如下
<? xml version = "1.0" encoding = "UTF-8" ?>
< beans xmlns = "http://xfire.codehaus.org/config/1.0" >
    < service >
       < name > Demo </ name >
       < serviceClass > com.syj.ws.MyServer </ serviceClass >
       < implementationClass >
           com.syj.ws.MyServerImpl
       </ implementationClass >
       < style > wrapped </ style >
       < use > literal </ use >
       < scope > application </ scope >
    </ service >
</ beans >
       5.将应用发布到tomcat上面使用myeclipse发布即可。
注意:正常情况下services.xml应该被拷贝到WEB-INF/classes/META-INF/xfire目录下
         使用浏览器访问
如果看到wsdl文件即表明成功。

编写客户端程序

先利用myeclipse生成客户端的代码,上面有提到,和生成services配置差不多。
生成客户端的过程要保证tomcat是开启状态
测试生成的客户端代码
publicstaticvoid main(String[] args) {

        DemoClient client = new DemoClient();

        DemoPortType service = client.getDemoHttpPort();

        System.out.println(service.getTestStr());

        System.out.println("test client completed");

        System.exit(0);

    }
       运行 DemoClient 后 稍等片刻( web services 确实很慢)
控制台打印
this is demo
test client completed
说明执行成功!
 
最后推荐大家一些资料
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值