MyEclipse构建Web Service(Xfire框架)

以下是本人原创,如若转载和使用请注明转载地址。本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址

 

任务要求:

使用Xfire实现一个简单的CalculatorWebService,计算器的加减乘除的算法的webservice,作业应当包括相关的实现软件代码以及对应的WSDL

 

环境搭建:

MyEclipse 8.5XFire 1.2Tomcat 6.0

XFire下载地址:http://xfire.codehaus.org/Download,下载时选择Binary Distribution in zip package xfire-distribution-1.2.6.zip),解压缩之后lib文件夹中包含了所有的jar文件。

 

Service创建

 

1、新建Service项目:FileNewWeb Service Project,项目名称为“CalculatorWebService ”。在Framework中选择XFire,虽然已经废弃,但是可以导入自己下载的lib文件使用,然后NextNextNextfinish,均默认,则项目创建成功。

 

 

2、导入xfire的外部jar。将xfire解压缩后目录下/xfire-distribution-1.2.6/xfire-1.2.6/lib下所有jar以及/xfire-distribution-1.2.6/xfire-1.2.6下的xfire-all-1.2.6.jar,全部拷贝到项目文件夹/MyEclipse/HelloWorldService/WebRoot/WEB-INF/lib下。

 

3、创建Service类。src下新添一个package,名为“server”;server包下新建一个class,名为“CalculatorWebService  ”,添加代码如下。该class实现一个简单的计算器程序,带了一个字符串类型参数,返回一个字符串。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package server;
 
/**
  *
* 项目名称:CalculatorWebService 
* 类名称:CalculatorService 
* 类描述:计算机webservice 
* 创建人:王少帅 
* 创建时间:2013-12-12 上午10:23:31      
* @version
  */
public class CalculatorWebService {
 
         //加法 
         public float plus( float x, float y) { 
             return x + y; 
        
         //减法 
         public float minus( float x, float y) { 
             return x - y; 
        
         //乘法 
         public float multiply( float x, float y) { 
             return x * y; 
        
         //除法 
         public float divide( float x, float y) { 
             if (y!= 0
            
                 return x / y; 
            
             else 
                 return - 1
        
}

4、创建Service。项目名称右键—NewOtherWeb ServicesWeb Service--Next。

 

 

    Strategy选择Create web service from java bean--Next

 

    Service name也取为“CalculatorWebService”,实现方式选择java bean implementation class onlyService impl.class则选择刚才创建的server.CalculatorWebService--Next--finish

 

5、将上面创建的Service部署到tomcat中(如下图),启动tomcat server,在浏览器中输入http://localhost:8080/CalculatorWebService/services/CalculatorWebService?wsdl,(分别代表服务器名称:端口号/项目名称/services/服务名称),则可以看到自动生成的wsdl文件。

以上的过程就是把服务器端做好了,接下来就要做客户端了。

 

客户端创建

 

1、客户端的配制以及调用有两种方法:一种是自动生成一些代码接口,然后直接调用;一种是手写一些方法来进行调用。手写代码之前,一定要把http client library 的包加进来,以及一些相应的xfile的核心包,包有以下几个:XFire 1.2 Core librariesXFire1.2 HTTP Client librariesXFire1.2 JaxB2 libraries。加入了以上的三个包以后,然后可以写一个测试的main方法来进行测试调用服务方法。

2、这里使用自动生成客户端的方法,先导入外部jar。项目右键---Properitiesjava bulid path----Librariesadd External JARs,把Xfirelib包下的jar都导入。

 

3、创建一个新的Client项目:FileNewWeb Service Project,项目名称为“HelloWorldClient”,Framework同样选择Xfire--Next—Nextfinish,注意在配置Library的时候,要勾上XFire 1.2 Core librariesXFire1.2 HTTP Client librariesXFire1.2 JaxB2 libraries这几个包,如下:

 

 

      4、创建一个web service client:项目名称右键—NewOtherWeb ServicesWeb Service Clientnextnext,在WSDL URL下输入刚才http://localhost:8080/HelloWorldService /services/HelloWorldService?wsdl,然后next---finish

    5、客户端项目文件夹下自动生成出来了一些有用的接口, 一个方法一个接口, 就可以直接拿来用了。

 这里我们要注意的一点是,一定要开着tomcat的服务器才行,因为webservice服务器端必须运行!

CalculatorWebServiceClient  main方法中,调用下CalculatorWebServicePortType service中的方法:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args) throws IOException {
         
 
         CalculatorWebServiceClient client = new CalculatorWebServiceClient();
         
         //create a default service endpoint
         CalculatorWebServicePortType service = client.getCalculatorWebServiceHttpPort();
         
         //TODO: Add custom client code here
                 //
                 //service.yourServiceOperationHere();
         String s1,s2;
         BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(System.in));
         System.out.println( "请输入您要操作的数据!" );
         s1 = bufferedReader.readLine();
         float a = Float.parseFloat(s1);
         
         s2 = bufferedReader.readLine();
         float b = Float.parseFloat(s2);
         
         System.out.println(service.plus(a, b));
         
         System.out.println( "test client completed" );
                 System.exit( 0 );
     }

 

运行结果如下:

 

 

 



转载于:https://www.cnblogs.com/wang3680/p/f0a2dc85a21fbb41a0984cc52303a81e.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值