zoukankan      html  css  js  c++  java
  • WebService学习二

    了解了webservice的基础知识之后,我们来编写一个服务端和客户端,进行测试。

    服务端

    先写一个接口:

    @WebService
    public interface WebServiceI {
    
        //使用@WebMethod注解标注WebServiceI接口中的方法
        @WebMethod
        String sayHello(String name);
    
        @WebMethod
        String save(String name,String pwd);
    }

    再写它的实现类:

    @WebService
    public class WebServiceImpl implements WebServiceI {
    
        @Override
        public String sayHello(String name) {
            System.out.println("WebService sayHello "+name);
            return "sayHello "+name;
        }
    
        @Override
        public String save(String name, String pwd) {
            System.out.println("WebService save "+name+", "+pwd);
            return "save Success";
        }
    }

    我建立的是spring boot 项目,在启动项里面发布:

    @SpringBootApplication
    public class WebServiceApplication {
    
        public static void main(String[] args) throws ServletException{
            new WebServiceApplication().init();
            SpringApplication.run(WebServiceApplication.class, args);
        }
    
        public static void init() throws ServletException {
            //WebService的发布地址
            //访问的时候需要在add后面加上?wsdl
            String address = "http://192.xxx.15.117:8088/WS_Server/WebService";
            //发布WebService,WebServiceImpl类是WebServie接口的具体实现类
            Endpoint.publish(address , new WebServiceImpl());  //使用JDK发布。
            System.out.println("使用WebServicePublishServlet发布webservice成功!");
        }
    }

    启动项目,webservice服务端就发布成功了。

    客户端

    重新建立一个spring boot项目,cmd进入java目录,执行命令: wsimport -keep http://192.xxx.15.117:8088/WS_Server/WebService?wsdl ,会自动生成代码。

    除了里面圆圈圈出来的是启动项,其他都是自动生成的。

    建立一个controller:

    @RestController
    public class Controller {
    
        @RequestMapping(value = "/sayHello")
        public String sayHello(){
            WebServiceImplService factory = new WebServiceImplService();
            //通过工厂生成一个WebServiceImpl实例,WebServiceImpl是wsimport工具生成的
            WebServiceImpl wsImpl = factory.getWebServiceImplPort();
            //调用WebService的sayHello方法
            String resResult = wsImpl.sayHello("heqiyoujing");
            return resResult;
        }
    
        @RequestMapping(value = "/save")
        public String save(){
            WebServiceImplService factory = new WebServiceImplService();
            //通过工厂生成一个WebServiceImpl实例,WebServiceImpl是wsimport工具生成的
            WebServiceImpl wsImpl = factory.getWebServiceImplPort();
            //调用WebService的sayHello方法
            String resResult = wsImpl.save("heqiyoujing","123");
            return resResult;
        }
    }

    启动项目,访问接口:

    http://localhost:9000/sayHello      返回:sayHello heqiyoujing

    http://localhost:9000/save   返回:save Success

    客户端也成功了。

  • 相关阅读:
    云计算分布式大数据神器Spark实战高手之旅
    Spring IOC及AOP学习总结
    Win7下不能查看xp系统共享的文件,解决方法
    c#怎样获取excel单元格的RGB颜色
    MySQL 全角转换为半角
    【剑指offer】旋转数组的最小值
    POJ 2524 :Ubiquitous Religions
    GitLal+sourceTree版本号管理
    ASP.NET MVC 过滤器(五)
    Java设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/9564864.html
Copyright © 2011-2022 走看看