使用Myeclipse开发基于xfire的Web Services 入门
2008-07-13 16:02
375 查看
如今技术更新的太快了,你稍不留神就会错过很多东西,今天花了些时间研究了下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孙钰佳
*@mainsunyujia@yahoo.cn
*@dateJul13,200812:25:41PM
*/
publicinterface MyServer {
public String getTestStr();
}
package com.syj.ws;
/**
*<p>
*Title:服务的实现
*</p>
*
*<p>
*Copyright:转载请注明出处http://blog.csdn.net/sunyujia/
*</p>
*
*@author孙钰佳
*@mainsunyujia@yahoo.cn
*@dateJul13,200812:26:19PM
*/
publicclass MyServerImpl implements MyServer {
public String getTestStr() {
return"this is demo";
}
}
4.配置services.xml,在没尝试web services之前就发现了这个按钮,但在昨天我还不知道它的真正用途。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws1.jpg)
这里点击第一个,可在services.xml中生成相关配置,稍后会使用第二个生成客户端程序。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws2.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws3.jpg)
生成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目录下
使用浏览器访问
http://127.0.0.1:8080/WebServicesDemo/services/Demo?wsdl
如果看到wsdl文件即表明成功。
编写客户端程序
先利用myeclipse生成客户端的代码,上面有提到,和生成services配置差不多。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws4.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws6.jpg)
生成客户端的过程要保证tomcat是开启状态
测试生成的客户端代码
运行DemoClient 后稍等片刻(web services确实很慢)
控制台打印
this is demo
test client completed
说明执行成功!
最后推荐大家一些资料
http://xfire.codehaus.org/Quick+Start
http://xfire.codehaus.org/Dependency+Guide
http://java.sun.com/webservices/docs/2.0/tutorial/doc/index.html
http://weblogs.java.net/blog/kohlert/archive/2005/05/jaxrpc_20_renam.html
http://www.w3.org/TR/soap/
至于我为什么没有选择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孙钰佳
*@mainsunyujia@yahoo.cn
*@dateJul13,200812:25:41PM
*/
publicinterface MyServer {
public String getTestStr();
}
package com.syj.ws;
/**
*<p>
*Title:服务的实现
*</p>
*
*<p>
*Copyright:转载请注明出处http://blog.csdn.net/sunyujia/
*</p>
*
*@author孙钰佳
*@mainsunyujia@yahoo.cn
*@dateJul13,200812:26:19PM
*/
publicclass MyServerImpl implements MyServer {
public String getTestStr() {
return"this is demo";
}
}
4.配置services.xml,在没尝试web services之前就发现了这个按钮,但在昨天我还不知道它的真正用途。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws1.jpg)
这里点击第一个,可在services.xml中生成相关配置,稍后会使用第二个生成客户端程序。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws2.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws3.jpg)
生成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目录下
使用浏览器访问
http://127.0.0.1:8080/WebServicesDemo/services/Demo?wsdl
如果看到wsdl文件即表明成功。
编写客户端程序
先利用myeclipse生成客户端的代码,上面有提到,和生成services配置差不多。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws4.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/sunyujia/ws6.jpg)
生成客户端的过程要保证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
说明执行成功!
最后推荐大家一些资料
http://xfire.codehaus.org/Quick+Start
http://xfire.codehaus.org/Dependency+Guide
http://java.sun.com/webservices/docs/2.0/tutorial/doc/index.html
http://weblogs.java.net/blog/kohlert/archive/2005/05/jaxrpc_20_renam.html
http://www.w3.org/TR/soap/
相关文章推荐
- XFire+MyEclipse 开发WebService入门实例之HelloWorld
- 使用XFire开发WebService入门教程
- 使用Netbeans开发基于CDC的Java ME程序入门
- MyEclipse下用XFire开发WebService(入门级)(2)
- myeclipse下使用xfire创建web service入门实例
- MyEclipse下XFire开发WebService入门例子
- 使用XFire开发及调用WebService的步骤 web services readme
- 使用XFire开发Web Service客户端完整入门教程
- 基于ONVIF协议的(IPC)客户端程序开发-3:使用gSOAP生成Web Services框架代码
- MyEclipse下用XFire开发WebService(入门级)(1)
- 使用Myeclipse 8.5开发基于JAX-WS的Web service实例
- Myeclipse6.5下使用XFire开发WebService的简单例子(最详细的步骤)
- 使用XFire开发Web Service客户端完整入门教程
- 建立基于MyEclipse 6和XFire开发的Web Service应用的客户端测试程序
- 在myeclipse中基于Hibernate框架开发的入门小程序
- GIT入门笔记(20)- 使用eclipse 基于 git 开发过程梳理
- 使用XFire开发Web Service客户端完整入门教程
- 使用XFire进行web services开发有三种方式:
- XFire开发Web Services入门例子
- 使用Myeclipse 8.5开发基于JAX-WS的Web service实例