学习Web Service

学习任务

1、学习java下创建Web Service的方法。

2、实现一个具有加减乘除功能的Web Service,并编写客户端测试。

 

学习过程

1)搭建环境:eclipse j2ee;cxf 2.0;tomcat 6.0;下载cxf的安装包之后,在Eclipse的菜单栏中,Window --> Preferences --> Web Service --> cxf2 Perferences,在cxf2 runtime location中选择cxf2解压缩包的位置,设置好后,点"OK"即行。

2)new一个dynamic web project;new一个class,包含加减乘除等方法;

代码如下a)     服务代码所示。

3)将编写好的服务发布到网上。"pro2"项目上new --> other,找到"Web Services"下面的"Web Service"进行设置即可完成发布服务。1’在浏览器中查看服务描述。

在此,http://localhost:8080/pro3/services/calculatPort?wsdl在浏览器中输入这个地址就可以调到刚刚发布的服务的wsdl描述。2’服务发布之后可以进行测试。点launch the web service explore,再点usdl page进入测试。输入参数,可以看到计算结果。

4)编写客户端调用服务。新建一个Dynamic java project,再建一个web service client,选择要调用的服务(即刚刚发布的Calculat服务),其中Calculat_CalculatPort_Client.java是一个示例,可运行,右键run as application,可在控制台中看到运行结果(要记得导入CXF库)。编写客户端代码。新建一个类,编写代码调用服务,运行。

a)      服务代码(其实就是一个类,包含四个方法):

import javax.jws.WebService;
@WebService(targetNamespace = "http://default_package/", portName = "calculatPort", serviceName = "calculatService")
public class calculat{
       public float plus(float a,float b)
       {
             return a+b;
       }
       public float minus(float a,float b)
       {
             return a-b;    
       }
       public float multiply(float a,float b)
       {
             return a*b;
       }
       public float divide(float a,float b)
       {
             if(b!=0)
             {
                    return a/b;                  
             }
             else
                    return -1;
       }
}


b)     客户端代码:

package default_package;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public final class Client {
    private Client() {
    }
    public static void main(String args[]) throws Exception {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//       factory.getInInterceptors().add(new LoggingInInterceptor());
 //       factory.getOutInterceptors().add(new LoggingOutInterceptor());
        factory.setAddress("http://localhost:8080/pro3/services/calculatPort");
        Calculat client = factory.create(Calculat.class);
        System.out.println(client.multiply(10, 15));
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值