zoukankan      html  css  js  c++  java
  • cxf方式实现WebService的简单实例

    cxf实现WebService的发布和调用简单实例。

    1、准备工作:下载cxf  http://cxf.apache.org/download.html

      lib文件下的WHICH_JARS文件列出了各用途下所需的jar包。

      bin目录下存放运行文件。

    2、服务端:先新建接口和相关的实现类。发布的服务是接口的方式。

      代码如下

     1 package com.liujf;
     2 
     3 import javax.jws.WebParam;
     4 import javax.jws.WebService;
     5 
     6 @WebService
     7 public interface IWebService
     8 {
     9     String sayHi(@WebParam(name = "text") String text);
    10 }
     1 package com.liujf;
     2 
     3 import javax.jws.WebService;
     4 
     5 @WebService(endpointInterface = "com.liujf.IWebService", serviceName = "helloTest")
     6 public class WebServiceImpl implements IWebService
     7 {
     8     
     9     @Override
    10     public String sayHi(String text)
    11     {
    12         // TODO Auto-generated method stub
    13         return "Welcome " + text;
    14     }
    15     
    16 }

      然后建立发布的方法:

     1 package com.liujf;
     2 
     3 import javax.xml.ws.Endpoint;
     4 
     5 public class ServicePublish
     6 {
     7     public static void main(String[] args)
     8     {
     9         System.out.println("web service start");
    10         WebServiceImpl implementor = new WebServiceImpl();
    11         String address = "http://192.168.16.101:8080/helloTest";
    12         Endpoint.publish(address, implementor);
    13         System.out.println("web service started");
    14     }
    15 }

      运行发布代码的main方法,Web Serice服务即发布成功。

      浏览器输入http://192.168.16.101:8080/helloTest?wsdl 可以打开wsdl文件。

    3、客户端:首先需要把服务相关的接口类导入到本地。

      调用bin目录下的wsdl2java.bat文件:in>wsdl2java http://192.168.16.101:8080/helloTest?wsdl

      生成对应的java类,拷贝到客户端工程目录下。然后可编写调用服务代码进行测试。

      

     1 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
     2 
     3 import com.liujf.IWebService;
     4 
     5 public class WebServiceTest
     6 {
     7     public static void main(String[] args)
     8     {
     9         // 创建WebService客户端代理工厂
    10         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    11         // 注册WebService接口
    12         factory.setServiceClass(IWebService.class);
    13         // 设置WebService地址
    14         factory.setAddress("http://192.168.16.101:8080/helloTest");
    15         IWebService webService = (IWebService)factory.create();
    16         System.out.println("invoke webservice...");
    17         System.out.println("message context is:" + webService.sayHi("LJF"));
    18     }
    19 }

      控制台打印结果如下:

      

    1 invoke webservice...
    2 message context is:Welcome LJF

      发布和调用过程完成。

  • 相关阅读:
    7.15 更改累计和中的值
    7.10 计算中间值
    7.11 求总和的百分比
    7.9 计算模式
    7.8 计算累计差
    7.4 求一个表的行数
    7.6 生成累计和
    7.7 生成累积乘积
    7.2 求某列中的最小、最大值
    7.3 对某列的值求和
  • 原文地址:https://www.cnblogs.com/moleme/p/5024059.html
Copyright © 2011-2022 走看看