cxf发布webservice服务及客户端的调用

一、下载cxf

地址:http://cxf.apache.org/download.html   选择适合自己的版本

二、配置环境变量

将下载好包解压,然后配置如下的环境变量

CXF_HOME = C:\tomcat\apache-cxf-3.3.4

Path = %CXF_HOME%\bin

三、CXF服务端的第一个例子

        1、创建一个普通的Java项目,导入如图的jar包,将该目录下的jar都导入到项目中

  2、创建一个服务接口,如下所示:

package my;

import javax.jws.WebService;

@WebService

public interface WeatherInterface

{

    public String getWeather(String city);

    public String[] getCities(String pro);

}

  3、创建接口的实现类,如下所示:

  package my;

public class WeatherInterfaceImpl implements WeatherInterface {

    @Override

    public String getWeather(String city) {

        if("广州".equals(city))

        {

            return "天气晴,未来几天都是晴天。";

        }

        return "该城市暂未开通";

    }

    @Override

    public String[] getCities(String pro) {

        if ("广东".equals(pro))

        {

            return new String[]{"广州" , "深圳" , "佛山"};

        }

        return new String[]{"该省暂未开通"};

    }

}

4、发布服务,在main方法写入如下代码,然后执行main方法

   import my.WeatherInterfaceImpl;

import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class Main {

    public static void main(String[] args) {

        System.out.println("开始发布!");

        //发布服务

        //1、创建工厂bean

        JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();

        //2、设置服务对象

        factoryBean.setServiceBean(new WeatherInterfaceImpl());

        //3、设置服务发布地址

        factoryBean.setAddress("http://127.0.0.1:9090/weather");

        //4、创建安服务

        factoryBean.create();

        System.out.println("发布成功!");

    }

}

5、在浏览器访问我们的服务

在浏览器地址栏打开地址:http://127.0.0.1:9090/weather?wsdl

返回如图所示,则说明服务创建成功

到此我们的服务端已经创建成功。

四、cxf的客户端

      1、创建一个普通的Java项目

2、生成客户端代码

     (1)在dows窗口进入src目录,如图所示

   

(2)在dows窗口执行;wsdl2java -d . http://127.0.0.1:9090/weather?wsdl

          然后在src目录先生成如下文件:

     (3)在main方法中调用,如下代码

package my;

import java.util.List;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class Main

{

public static void main(String[] args)

{

System.out.println("hello world!");

//1、创建代理工厂

JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();

//2、设置接口

factoryBean.setServiceClass(WeatherInterface.class);

//3、设置地址

factoryBean.setAddress("http://127.0.0.1:9090/weather?wsdl");

//4、创建服务

WeatherInterface ws = factoryBean.create(WeatherInterface.class);

String str = ws.getWeather("广州");

List<String> citis = ws.getCities("广东");

System.out.println(str);

System.out.println(citis);

}

}

   执行之后,出现如图结果,说明调用成功

到此,cxf发布webservice已经做好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AndyWei147

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值