使用XFire和axis搭建简单的WebService服务端和客户端

第一次写博客,工作需要用到XFire搭建WebService,于是自己着手试着搭建了一个用于测试使用。不足之处望各位大神们给予指点,谢谢。

第一、环境MyEclipse8.6+XFire+Tomcat+axis

由于是自己第一次搭建,XFire和Tomcat都使用的是MyEclipse8.6自带,本来想用MyEclipse10来搭建,但实在不知道怎么把XFire插件弄上去,不知道有哪位大神可以告诉我。

第二、先是服务端

1、新建Web Service Project,选择XFire如下图,完成即可
[img]http://dl.iteye.com/upload/attachment/0077/5541/e11f5152-e3d7-3d6b-81a0-92bf6114f59b.png[/img]
2、编写接口文件service.java和实现类文件serviceImpl.java
public interface service {
public String hello();
}

public class serviceImpl implements service {

public String hello() {
return "hello webservice";
}
}

3、配置文件services.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloService</name>
<serviceClass>com.service.service</serviceClass>
<implementationClass>com.service.serviceImpl</implementationClass>
</service>
</beans>

这样一个功能非常简单的服务端就出来了。部署到Tomcat启动即可。

访问地址http://localhost:8080/webservice_server/services,发现如下

[img]http://dl.iteye.com/upload/attachment/0077/5543/d606b25f-d911-3a92-94d6-b5d77e44e2f8.jpg[/img]
证明服务端成功。点击[wsdl],可得到地址http://localhost:8080/webservice_server/services/HelloService?wsdl,里面有各种参数,这个我就不太明白了。有关一些接口的参数和返回值,看上去还是比较容易明白(连猜带蒙)。

第二、客户端

1、随便建立一个工程Java和Web工程都可以,将Axis中lib文件放到工程的lib下面
[img]http://dl.iteye.com/upload/attachment/0077/5550/0687b775-faa4-32ad-806f-91a4a02cfd77.jpg[/img]
2、需要用到axis来生成客户端文件:我的axis放在E盘
编写一个bat文件用于通过Axis来生成客户端需要的文件,代码如下
set Axis_Lib=E:\axis-1_4\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=[color=red][u]http://localhost:8080/webservice_server/services/HelloService?wsdl[/u][/color]%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -u %Axis_Servlet%
运行此文件得到一个文件夹将其中的文件复制到客户端项目中即可:
[img]http://dl.iteye.com/upload/attachment/0077/5545/3443c988-4fc6-3369-81d8-00ce5ef0cd2a.jpg[/img]
3、测试是否能成功

在客户端编写一个测试类test.java
package com.test;

import com.service.HelloServiceHttpBindingStub;
import com.service.HelloServiceLocator;

public class test {

public static void main(String[] args) {

HelloServiceLocator ltor=new HelloServiceLocator();

HelloServiceHttpBindingStub stub=null;

try{
stub=(HelloServiceHttpBindingStub) ltor.getHelloServiceHttpPort();
String tt=stub.hello();
System.out.println(tt);
}catch (Exception e) {
// TODO: handle exception
}
}
}

运行可以在控制台看到结果
[img]http://dl.iteye.com/upload/attachment/0077/5548/56c58179-58d2-37a8-a56f-42b14845244a.jpg[/img]
完成。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值