webservice xfire是什么?一篇文章带你了解!

吉云

今儿个,咱就来聊聊我最近捣鼓的一个玩意儿——WebService,用的框架是XFire。我对这玩意儿也是一头雾水,不过经过一番折腾,总算是给它摸透。现在我就把我的实践过程跟大家伙儿唠唠,也算是给自己做个记录。

我得先搭个环境。这玩意儿是用Java写的,所以JDK啥的肯定是少不的。然后,我还得去整一个XFire的包。这玩意儿现在好像不叫XFire,改名叫Apache CXF,不过没关系,咱们知道它原来叫啥就行。

环境搭好,接下来就是创建项目。我用的是Eclipse,直接新建一个Dynamic Web Project。这里头有个小细节,就是在创建的时候,需要把那个“Add project to an EAR”的选项勾上,不然一会儿配置的时候可能会有点小麻烦。

webservice xfire是什么?一篇文章带你了解!

项目建好,接下来就是写代码。我这回是想做一个简单的计算器服务,能做加减乘除就行。我得写一个接口,里头定义好四个方法,分别对应加减乘除。然后,再写一个实现类,把这四个方法都给实现。这部分代码没啥难的,就是一些基本的Java代码。

  • 创建接口:

先定义一个叫CalculatorService的接口,代码如下:

webservice xfire是什么?一篇文章带你了解!

public interface CalculatorService {

public int add(int a, int b);

public int subtract(int a, int b);

public int multiply(int a, int b);

public int divide(int a, int b);

webservice xfire是什么?一篇文章带你了解!

  • 编写实现:

然后写一个CalculatorServiceImpl来实现这个接口:

webservice xfire是什么?一篇文章带你了解!

public class CalculatorServiceImpl implements CalculatorService {

@Override

public int add(int a, int b) {

return a + b;

@Override

webservice xfire是什么?一篇文章带你了解!

public int subtract(int a, int b) {

return a - b;

@Override

public int multiply(int a, int b) {

return a b;

webservice xfire是什么?一篇文章带你了解!

@Override

public int divide(int a, int b) {

if (b == 0) {

return 0; // 这里简单处理一下除零的情况

webservice xfire是什么?一篇文章带你了解!

return a / b;

代码写完,接下来就是配置。这部分是比较关键的,也是我花时间最多的地方。我得在项目的WEB-INF目录下创建一个lib文件夹,然后把XFire的那些jar包都给拷进去。我还得配置一个文件,这个文件里头主要是配置一个XFire的Servlet,用来处理WebService的请求。这些配置网上都能找到例子。

也是最关键的一步,我要在src/META-INF下创建一个xfire文件夹,并在其中创建一个文件进行配置。这个文件里头主要是配置我的服务类,让XFire知道哪个类是提供WebService服务的。

webservice xfire是什么?一篇文章带你了解!

*文件的配置

这个配置文件大概长这样:

<beans>

<service>

<name>CalculatorService</name>

webservice xfire是什么?一篇文章带你了解!

<serviceClass>*</serviceClass>

<implementationClass>*</implementationClass>

</service>

</beans>

这里头的serviceClass就是我的接口类,implementationClass就是我的实现类。需要替换成你自己定义的类的包名。

webservice xfire是什么?一篇文章带你了解!

配置好,接下来就是部署。我把项目部署到Tomcat上,然后启动Tomcat。等Tomcat启动好,我在浏览器里输入一个地址,这个地址是我根据文件里的配置生成的,大概长这样:你的项目地址/services/CalculatorService?wsdl。如果一切正常的话,浏览器里会显示一个XML文件,这个文件就是WSDL文件,它描述我的WebService的具体信息。

我写一个简单的客户端程序来测试我的WebService。客户端程序也是用Java写的,主要是用XFire提供的一些类来调用WebService。我试一下加减乘除四个方法,都能正常工作,结果也都是正确的。到这儿,我的WebService实践就算是成功。

这回实践还是挺有收获的。虽然中间遇到一些问题,不过都解决。通过这回实践,我对WebService有一个更深入的解,也算是掌握一个新技能。以后再遇到类似的需求,我就知道该怎么做。这就是我这回实践的全部过程,希望能对大家有所帮助。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]