zoukankan      html  css  js  c++  java
  • Webservice客户端动态调用服务端功能方法

    一、发布WebService服务
    方式一:在服务端生成wsdl文件,下方客户端直接引用即可
     
      优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置。
      缺点:每次服务端方法发生改变都需要重新生成相应的wsdl文件,不适合于功能需要经常变动的方法。
     
    方式二:在服务端生成WebService的服务端代码,如需变动方法或功能直接进行相关的更改即可。
      
      优点:变更功能、方法等客户端可以动态的调用,服务端一旦变更客户端即可通过动态进行变更引用。
     
     
    二、Client调用服务端接口 
     
    1、 项目架构如下:
     
    2、调用过程:
    1)右键点击项目名称——>“NEW”——>“Other”——>输入WEB service client 如下
     
     
    2)完成出现客户端配置窗口,如下
     
     
    3)在“service definition”中输入webservice开放的服务地址, 注意地址末尾必须加上“?WSDL”
     
    还需注意的是,创建的web service client 必须是3.0以下版本。
     
    4)这个项目中除了 TestClient.java类是自己创建的,其他都是自动生成的。
     
    5)TestClient.java类

    public static void main(String[] args) {
    try {
    CalculateServiceServiceLocator service = new CalculateServiceServiceLocator();
    java.net.URL url = new java.net.URL("http://localhost:8080/WebServiceTest/services/CalculateService?wsdl");
    /* java.net.URL url = new java.net.URL("http://localhost:8080/WebServiceTest/services/CalculateService");*/
    CalculateServiceSoapBindingStub cssbs = new CalculateServiceSoapBindingStub(url, service);
    float f =cssbs.divide(5, 3);
    System.out.println("相除:"+f);

    f =cssbs.plus(3, 6);
    System.out.println("相加:"+f);
    } catch (RemoteException e) {
    // TODO Auto-generated catch block20
    e.printStackTrace();
    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }




    /* 静态引用Webservice
    * CalculateServiceProxy csp = new CalculateServiceProxy();
    CalculateService cs = csp.getCalculateService();
    try {
    float f=csp.multiply(3, 3);
    System.out.println("乘积:"+f);
    f=cs.divide(5, 2);
    System.out.println("相除:"+f);
    } catch (RemoteException e) {
    e.printStackTrace();
    }*/
    }
    }

    这里主要用到的是***Locator 和***Stub这两个类。

     

  • 相关阅读:
    Python中使用pip安装库时提示:远程主机强迫关闭了一个现有的连接
    一个真正有能力的人
    一个程序员的自白(延迟满足)
    小规模团队如何“微服务”管理
    一个程序员的自白(无知之者)
    小型系统如何“微服务”开发
    TCP协议学习总结(下)
    TCP协议学习总结(中)
    TCP协议学习总结(上)
    一个程序员的自白(三十而立)
  • 原文地址:https://www.cnblogs.com/cnblog-long/p/7151418.html
Copyright © 2011-2022 走看看