• Spring Boot+CXF搭建WebService服务参考资料


      pom.xml文件引入包:

    <!--WerbService CXF依赖-->
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>3.1.12</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>3.1.12</version>
    </dependency>
    

      

      模拟代码:

    package webServiceDemo;
    
    import java.io.Serializable;
    
    /**
     * TODO
     * 实体类
     */
    public class User implements Serializable {
    
        private String name;
    
        private String age;
    
        private String xb;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getAge() {
            return age;
        }
    
        public void setAge(String age) {
            this.age = age;
        }
    
        public String getXb() {
            return xb;
        }
    
        public void setXb(String xb) {
            this.xb = xb;
        }
    
        public User() {
        }
    
        public User(String name, String age, String xb) {
            this.name = name;
            this.age = age;
            this.xb = xb;
        }
    }
    

      

    package webServiceDemo;
    
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    
    /**
     * TODO
     * webService接口
     */
    @WebService
    public interface UserWebService {
    
        @WebMethod
        User getUserByName(String name);
    }
    

      

    package webServiceDemo;
    
    import javax.jws.WebService;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * TODO
     * webService接口实现类
    * endpointInterface为UserWebService所在项目地址(包含接口名),targetNamespace为UserWebService所在项目地址倒序(不含接口名)  */ @WebService(targetNamespace = "http://webServiceDemo/", endpointInterface = "webServiceDemo.UserWebService") public class UserWebServiceImpl implements UserWebService { @Override public User getUserByName(String name) { List<User> userList = new ArrayList<>(); User user1 = new User("张三", "21", "男"); userList.add(user1); User user2 = new User("李四", "19", "女"); userList.add(user2); User needUser = new User(); for (User user : userList) { if (!user.getName().equals(name)) { continue; } needUser = user; } return needUser; } }

      

    package webServiceDemo;
    
    import org.apache.cxf.Bus;
    import org.apache.cxf.bus.spring.SpringBus;
    import org.apache.cxf.jaxws.EndpointImpl;
    import org.apache.cxf.transport.servlet.CXFServlet;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import javax.xml.ws.Endpoint;
    
    /**
     * TODO
     * WebService服务发布配置
     */
    @Configuration
    public class WebServiceConfig {
    
        @Bean
        public ServletRegistrationBean disServlet(){
            return new ServletRegistrationBean(new CXFServlet(), "/service/*"); //发布服务名称
        }
    
        @Bean(name = Bus.DEFAULT_BUS_ID)
        public SpringBus springBus()
        {
            return  new SpringBus();
        }
    
        @Bean
        public UserWebService userWebService() {
            return new UserWebServiceImpl();
        }
    
        /*
        WebService服务发布
         */
        @Bean
        public Endpoint endpoint() {
            //绑定要发布的服务
            EndpointImpl endpoint = new EndpointImpl(springBus(), userWebService());
            endpoint.publish("/userWebService"); //显示要发布的名称
            return endpoint;
        }
    }
    

      

      然后启动项目,创建的WebService服务会随着项目启动发布,启动成功后,根据发布配置浏览器访问:

    http://localhost:8080/service/userWebService?wsdl

      构建服务端参考资料:

      https://www.cnblogs.com/xibei666/p/8970549.html

      https://blog.csdn.net/cs_hnu_scw/article/details/80181762

      https://www.imooc.com/article/25537?block_id=tuijian_wz

      遇到的问题及解决办法:

      https://www.cnblogs.com/Big-Boss/p/11912679.html

      

  • 相关阅读:
    面试常考知识点——Java(JVM,JDK,JRE)
    使用CSS transform属性的skewX、skewY沿X、Y轴倾斜元素
    视觉设计应用
    小程序
    小程序获取用户的登录头像和用户名
    整站建设
    2018-05-05(在小程序中使用图标)
    2018-05-03(PHP)
    webpack
    简历
  • 原文地址:https://www.cnblogs.com/Big-Boss/p/11955934.html
Copyright © 2020-2023  润新知