zoukankan      html  css  js  c++  java
  • webservice简单的编写,发布,调用

    1.编写webservice

    接口

    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);
    }

    实现接口

    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; } }

    2.发布webservice

    public static void main(String[] args) {
      String address="http://localhost:8080/webservice/test";
      Endpoint.publish(address, new MyServiceimpl());
      System.out.println("发布成功");
    }

    在服务器端运行main方法 ”控制台打印出发布webservice成功!
    “在浏览器中输入http://localhost:8080/webservice/test?wsdl(注意一定要加wsdl),显示了一个xml,那么我们这个WebService就发布成功了。
     
     
    3.调用webservice
      3.1 cmd中输入如下
        wsimport -d C:UsersAdministratorDesktop est -keep -verbose http://localhost:8080/webservice/test?wsdl

      3.2 参数说明:

        -d 表示输出的文件夹。文件夹必须事先存在,否则导出失败。

        -keep 表示导出webservice的class文件时是否也导出源码java文件。

        -verbose verbose表示具体信息。

        注:如出现 wsimport不是内部或者外部命令

        尝试如下,再输入上面的wsimport......

        set java_home=D:javajdk1.8.0_171  安装JDK的根目录
        回车
        set classpath=%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar;
        回车
        set path=%JAVA_HOME%in; 
        回车
     
      3.3 新建工程,将C:UsersAdministratorDesktop est文件夹中生产的文件拷贝至项目src
        测试代码

        public static void main(String[] args) {
          MyServiceimplService myserviceImpl = new MyServiceimplService();
          MyService myService = myserviceImpl.getMyServiceimplPort();
          System.out.println(myService.add(1, 2));
        }

     附:
    上面发布了webservice,会有个进程一直监听8080,怎么关掉服务。

    cmd下,用netstat -a -n -o 命令找出该端口,会显示正在监听(listening),-o参数会显示该连接所属的进程id,

    然后去任务管理器,默认是不显示进程id的,设置里调出来,杀掉该进程即可。

  • 相关阅读:
    AAC-LC 是什么格式?和 AAC 有什么区别?
    AAC_LC用LATM封装header信息解析 Audio Specific Config格式分析
    AAC的AudioSpecificConfig细节
    AAC帧格式及编码介绍
    AAC 格式分析
    AAC头部格式,RTP打包格式
    RTP 打包H264与AAC
    程序员除了会CRUD之外,还应该知道什么叫CQRS!
    Neo4j数据库学习一:安装和数据类型常用命令简介
    【Neo4j查询优化系列】如何快速统计节点的关系数
  • 原文地址:https://www.cnblogs.com/sss-justdDoIt/p/9248452.html
Copyright © 2011-2022 走看看