• wsimport 使用方法具体解释


    wsimport 使用方法

    本文主要介绍wsimport的简单使用方法。帮助大家在webserviceclient开发过程中生成接口代码:
    打开java JDK文件夹我们会看到wsimport工具,这是由sun为我们免费提供的的。功能强大,会给我们工作带来极大的方便。
    如图所看到的

    创建服务端代码:
    代码结构

    接口

    package com.huawei.idp.composer.service;
    
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    
    @WebService
    public interface MyService
    {
        @WebMethod
        public int add(@WebParam(name="a")int a, @WebParam(name="b")int b);
    }
    

    实现类

    package com.huawei.idp.composer.service.impl;
    
    import javax.jws.WebService;
    
    import com.huawei.idp.composer.service.MyService;
    
    @WebService(endpointInterface="com.huawei.idp.composer.service.MyService")
    public class MyServiceimpl implements MyService
    {
    
        @Override
        public int add(int a, int b)
        {
            return a + b;
        }
    
    }
    

    调用wsimport工具。打开dos窗体。输入命令:

    wsimport -d D:test -keep -verbose  http://127.0.0.1:8080/hello?wsdl

    这里简介一下參数:

    1. -d 表示输出的文件夹。文件夹必须事先存在,否则导出失败。
    2. -keep 表示导出webservice的class文件时是否也导出源码java文件。
    3. -verbose verbose表示具体信息。

    我们打开D: est会发现生成了例如以下文件:
    这里写图片描写叙述

    我们在Eclipse中又一次建立一个project,将这个文件夹复制到src文件夹下
    红框中的类都是自己主动生成的
    然后開始编写client代码

    package com.huawei.idp.composer.client;
    
    import com.huawei.idp.composer.service.impl.MyService;
    import com.huawei.idp.composer.service.impl.MyServiceimplService;
    
    public class Test
    {
        public static void main(String[] args)
        {
            MyServiceimplService myserviceImpl = new MyServiceimplService();
            MyService myService = myserviceImpl.getMyServiceimplPort();
            System.out.println(myService.add(1, 2));
        }
    }
    
    [调用结果](http://img.blog.csdn.net/20150822175745450)``
    
    
    这里值得注意的是,生成的MyServiceimplService类并非服务端实现类,而是继承了Service的类而且提供了方法:

    /**
    *
    * @return
    * returns MyService
    */
    @WebEndpoint(name = “MyServiceimplPort”)
    public MyService getMyServiceimplPort() {
    return super.getPort(new QName(“http://impl.service.composer.idp.huawei.com/“, “MyServiceimplPort”), MyService.class);
    }

    “`

    这里直接帮我们生成了一个Qname訪问程序。既然怎样,我们就不用自己写qname了。直接拿来用測试岂不更好?

    到此为止,一个简单的webservice就实现了,假设对大家有帮助,请点赞假设有不足之处,敬请指正。

  • 相关阅读:
    window 配置 sendmail
    无限级分类
    sublime
    php笔记
    Python:开发_基本流程
    python学习笔记,视频day13-python基础知识练习题(二)
    python学习笔记,视频day12-列表、元组、字典+整理
    java学习笔记- Math类、String类
    java学习笔记-if语句、Switch语句
    java学习笔记-循环
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7210536.html
Copyright © 2020-2023  润新知