一个简单的webService如何创建

  • 了解webService基本概念
  • 1.基本概念
  • 2.了解步骤
  • 开始coding
  • 1.搭建一个项目
  • step1:
  • step2:
  • step3:
  • step4:
  • 项目的整体目录结构
  • 具体代码参考
  • service层
  • impl层
  • main函数
  • 查看结果


了解webService基本概念

因为工作原因,组里做了一个关于数据迁移的接口,也就是webService,所以组长给了个任务,让搞一个动态发布接口,(不太明白是什么鬼。。。)所以上网上收集了一些资料,顺带着先写一个小demo了解一下什么是webService,把我的学习步骤记录在这里,希望对大家能有一些帮助。

1.基本概念

这个可以去百度百科,介绍的挺详细的,我就不复制了,给个链接webService百科详情

2.了解步骤

结合资料,个人认为可以把这个分为最简单的两步:
1.服务端,也就是接口的供应商
2.客户端,接口的使用方

开始coding

1.搭建一个项目

因为正好也在学习springboot框架,所以使用springboot框架搭建了一个webService,非常简单,一个项目搭建下来也就一分钟。(使用的IDEA,eclipse其实步骤没什么差别)

step1:

新建一个项目,创建的时候选择springInitializr,也就是spring的初始化器。这个其实本质上也是maven项目,就是springboot帮你生成一个maven项目,并且不用你配置一堆spring的参数什么的,而是给你用了很多的默认值,并且配置好依赖

spring boot里的 service层_提供service

step2:

会使用maven的同学应该都不陌生这个界面,让你设置你的包名,项目名,语言,版本。。。next

spring boot里的 service层_提供service_02

step3:

选择你需要的依赖的组件,这里我选择了一个web,想着是做webService,所以也选了一个webService。这样springboot会将你所依赖的jar包帮你配好在pom文件里。next

spring boot里的 service层_提供service_03

step4:

点击Finish,完成~~

spring boot里的 service层_提供service_04

项目的整体目录结构

整体目录结构很简单,这个是我完成的效果service包和impl包是我自己创建的,最简单的一个webService大概就是这样了。

service里是服务接口;

impl是接口的实现;

wsDemoApplication是springboot自己生成的一个main函数,也就是程序的入口;我这个是因为设置了step2里的包名和类名,所以生成的就是这样

记住:现在不需要配置tomcat,springboot集成的有,如果要改端口之类的可以再下面的properties里自己改

spring boot里的 service层_发布接口_05

具体代码参考

service层

package ws_demo.service;

import javax.jws.WebMethod;

@javax.jws.WebService
public interface WebService {
    @WebMethod
    String sayHello(String name);
}

impl层

package ws_demo.impl;

import ws_demo.service.WebService;

@javax.jws.WebService
public class WebServiceImpl implements WebService {

    @Override
    public String sayHello(String name) {
        String said = name + ",Hello~~";
        System.out.println(said);
        return said;
    }
}

main函数

package ws_demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import ws_demo.impl.WebServiceImpl;

import javax.xml.ws.Endpoint;

@SpringBootApplication
public class WsDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(WsDemoApplication.class, args);
        /*
        在服务器端运行WebServicePublish类中的main方法,控制台打印出发布webservice成功!
        在浏览器中输入我们在WebServicePublish类中定义的url?wsdl(注意一定要加wsdl),浏览器显示一个xml文档
        那么我们这个WebService就发布成功了。
         */
        //定义webService的发布地址,提供给外界使用接口的地址
        String url = "http://localhost:8081/wsServeice";
        Endpoint.publish(url,new WebServiceImpl());
        System.out.println("发布webService成功!");
    }
}

在服务器端运行WebServicePublish类中的main方法,控制台打印出发布webservice成功!

在浏览器中输入我们在WebServicePublish类中定义的url?wsdl(注意一定要加wsdl),浏览器显示一个xml文档

那么我们这个WebService就发布成功了。

spring boot里的 service层_webservice_06

查看结果

spring boot里的 service层_spring_07


做到这一步,一个最简单的webService服务端就完成了。至于客户端如何调用,我还在摸索学习中,后续会更新补上。(两年了,我忘了…)