• 带接口的webservice 的发布


    1.接口:(打上service注解)

    package ws.qlq.a;
    
    import javax.jws.WebService;
    
    /**
     * 面向接口的webservice发布方式
     * 
     * 
     */
    @WebService
    public interface JobService {
        public String getJob();
    }

    2.实现类(也要打赏注解设置服务端点接口全路径)

    package ws.qlq.a;
    
    
    import javax.jws.WebService;
    
    @WebService(endpointInterface="ws.qlq.a.JobService")//设置服务端点接口 ,指定对外提供服务的接口
    public class JobServiceImpl implements JobService {
    
        @Override
        public String getJob() {
            return "JEE研发工程师|Android研发工程师|数据库工程师|前端工程师|测试工程师|运维工程师";
        }
        public void say(){
            System.out.println("早上好!");
        }
    }

    3.发布service的类

    package ws.qlq.a;
    
    
    import javax.xml.ws.Endpoint;
    
    public class Test {
    
        public static void main(String[] args) {
            JobService jobService=new JobServiceImpl();
            String address="http://127.0.0.1:9999/ws/jobservice";
            Endpoint.publish(address, jobService);
            System.out.println("wsdl地址:"+address+"?WSDL");
    
        }
    
    }

    结果:

    wsdl地址:http://127.0.0.1:9999/ws/jobservice?WSDL

    4.客户端通过wsimport生成本地代理以及打包成jar包

    C:Usersliqiang>cd Desktop

    C:UsersliqiangDesktop>wsimport http://127.0.0.1:9999/ws/jobservice?WSDL

    C:UsersliqiangDesktop>jar -cvf test.jar ./ws    (打包之后名字为test.jar,打包的文件夹为当目录的ws文件夹)
    已添加清单
    正在添加: ws/(输入 = 0) (输出 = 0)(存储了 0%)
    正在添加: ws/qlq/(输入 = 0) (输出 = 0)(存储了 0%)
    正在添加: ws/qlq/a/(输入 = 0) (输出 = 0)(存储了 0%)
    正在添加: ws/qlq/a/GetJob.class(输入 = 411) (输出 = 277)(压缩了 32%)
    正在添加: ws/qlq/a/GetJobResponse.class(输入 = 733) (输出 = 414)(压缩了 43%)
    正在添加: ws/qlq/a/JobService.class(输入 = 772) (输出 = 430)(压缩了 44%)
    正在添加: ws/qlq/a/JobServiceImplService.class(输入 = 2304) (输出 = 1036)(压缩了
     55%)
    正在添加: ws/qlq/a/ObjectFactory.class(输入 = 1495) (输出 = 661)(压缩了 55%)
    正在添加: ws/qlq/a/package-info.class(输入 = 230) (输出 = 184)(压缩了 20%)

    5.客户端测试webservice(将上面打好的jar包加进项目)

    package cn;
    
    import ws.qlq.a.JobService;
    import ws.qlq.a.JobServiceImplService;
    
    public class JobServiceTest {
    
        public static void main(String[] args) {
            JobServiceImplService jobServiceImplService = new JobServiceImplService();
            JobService jobServiceImplPort = jobServiceImplService.getJobServiceImplPort();
            String job = jobServiceImplPort.getJob();
            String [] jobs =job.split("\|");
            for (String s:jobs){
                System.out.println(s);
            }
        }
    }

    JEE研发工程师
    Android研发工程师
    数据库工程师
    前端工程师
    测试工程师
    运维工程师

  • 相关阅读:
    python 三大框架的 介绍。
    爬虫之selenium模拟点击
    多线程爬虫爬取详情页HTML
    机器学习三剑客之Matplotlib基本操作
    机器学习三剑客之Pandas中DataFrame基本操作
    机器学习三剑客之Numpy库基本操作
    小功能——快速制作属于自己的个性二维码
    Django 分页器
    Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块
    Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/7569181.html
Copyright © 2020-2023  润新知