• webservice 概念+测试案例


    webservice的概念?(一句话概括什么是WebService)

      WebService是一种跨编程语言、跨操作系统平台的远程调用技术。远程调用技术:

       远程调用是指一台设备上的程序A可以调用另一台设备上的方法B。比如:银联提供给商场的pos刷卡系统,商场的pos机转账调用的转账方法的代码其实是跑在银行服务器上的。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以WebService服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率。

    • 跨编程语言:是指服务端、客户端程序的编程语言可以不同
    • 跨操作系统平台:是指服务端、客户端可在不同的操作系统上运行
    • 从表面上看,WebService是指一个应用程序向外界暴露了一个能通过Web调用的API接口,我们把调用这个WebService的应用程序称作客户端,把提供这个WebService的应用程序称作服务端。
    • 从深层上看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何通过Web实现互操作性,通过WebService标准对服务进行查询和访问。

    ===================================================================================================================================

    为啥要使用webservice?

    传统的socket,如上一篇socketserverr需要自己写数据的接收,数据的发送,数据的处理,数据的解析等等的信息;而webservice在开发的过程中同java开发一样,实现了对web socket的包装

    1.测试目录

     2.1  Server.java

    package com.server;

    import javax.xml.ws.Endpoint;

    public class Server {
    public static void main(String[] args) {
    //发送webservice服务
    //new WeatherInterfaceImpl()为实现类
    //http://127.0.0.1:12345/weather http:id:端口/地址
    //启动服务,浏览器端访问http://127.0.0.1:12345/weather?wsdl 会打开webservice的使用说明书
    Endpoint.publish("http://127.0.0.1:12345/weather", new WeatherInterfaceImpl());
    System.out.println("发布webservice服务");
    }
    }

    2.2  WeatherIntrface.java

    package com.server;
    /**
    * 天气查询服务接口
    * @author xjj13
    *
    */
    public interface WeatherInterface {
    //天气查询
    public String queryWeather(String cityname);
    }
    2.3  WeatherIntrfaceImpl.java

    package com.server;

    import javax.jws.WebService;

    /**
    * 天气查询服务
    * @author xjj13
    *
    */
    @WebService
    public class WeatherInterfaceImpl implements WeatherInterface{
    @Override
    public String queryWeather(String cityname) {
    //接受客户端发送过来的数据
    System.out.println("from client..."+cityname);
    String result="晴";
    //向客户端返回天气查询结果
    return result;
    }
    }

    2.4服务端写好类后,启动服务,浏览器端访问http://127.0.0.1:12345/weather?wsdl 会打开webservice的使用说明书


    访问url: http://127.0.0.1:12345/weather?xsd=1发现是自己写的方法

    3.dos窗口进入下面目录 cd C:java2.eclipseWorkspace1.testwebserviceweatherquerysrc

     执行如下命令:

    wsimport -s . http://127.0.0.1:12345/weather?wsdl

    就会生成下面红框圈注的内容

     4.编写客户端 Client.java

    package com.client;

    import com.test.WeatherInterfaceImpl;
    import com.test.WeatherInterfaceImplService;

    /**
    * webservice客户端
    * @author xjj13
    *
    */
    public class Client {
    public static void main(String[] args) {
    //通过webservice的服务视图
    WeatherInterfaceImplService weatherInterfaceImplService=new WeatherInterfaceImplService();
    //通过视图得到服务端点
    WeatherInterfaceImpl weatherInterfaceImpl=weatherInterfaceImplService.getWeatherInterfaceImplPort();
    //可以通过服务端点调用webservice接口
    //向服务端发送数据北京
    String result=weatherInterfaceImpl.queryWeather("北京");
    System.out.println("from server..."+result);

    }
    }
    4.2启动客户端

  • 相关阅读:
    The Worm Turns
    Equations
    Snail’s trouble
    WuKong
    Codeforces 369 C Valera and Elections
    POJ 2186 Popular Cows
    Codefroces 366 D Dima and Trap Graph (最短路)
    Codefroces 366 C Dima and Salad(dp)
    Codefroces 374 B Inna and Sequence (树状数组 || 线段树)
    Codeforces 374 C Inna and Dima (DFS)
  • 原文地址:https://www.cnblogs.com/curedfisher/p/11836200.html
Copyright © 2020-2023  润新知