栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

springboot集成webService

Java 更新时间:发布时间: 百科书网 趣学号
wsdl服务端

源码地址

https://gitee.com/FetterXxZzz/webservice/tree/master

  1. 项目结构

2.项目依赖

        
            org.projectlombok
            lombok
            true
        
        
            org.apache.cxf
            cxf-spring-boot-starter-jaxws
            3.3.4
        
        
            org.springframework.boot
            spring-boot-starter-web-services
        
        
            org.hibernate
            hibernate-validator
            5.2.4.Final
        

3.bean

@Data
public class UserDTO {
    private Long id;
    private String name;
    private Integer age;
    private String address;
}

4.service

@WebService(name = "IUserServer",//  服务名称
        targetNamespace = "http://service.web.com")//命名空间
public interface IUserServer {
    UserDTO getUser(Long id);

    UserDTO getUsers(String id);
}

5.impl

@Service
@WebService(serviceName = "IUserServer",//与接口中serviceName一致
        targetNamespace = "http://service.web.com",// 与接口中命名空间一致
        endpointInterface ="com.web.service.IUserServer")// 接口地址
public class UserServerImpl implements IUserServer {
    @Override
    public UserDTO getUser(Long id) {
        UserDTO userDTO=new UserDTO();
        userDTO.setId(id);
        userDTO.setName("Fetter");
        userDTO.setAge(23);
        userDTO.setAddress("成都市锦江区樱花街仁居锦尚春天小区2-2-2205");
        return userDTO;
    }

    @Override
    public UserDTO getUsers(String id) {
        UserDTO user=new UserDTO();
        user.setId(Long.parseLong(id));
        user.setName("李明");
        user.setAge(30);
        user.setAddress("成都市锦江区樱花街仁居锦尚春天小区2-2-2204");
        return user;
    }
}

6.config

@Configuration
public class CxfConfig {
    @Autowired
    private IUserServer iUserServer;
    
    @Bean
    public ServletRegistrationBean cxfServlet() {
        // 访问路径
        // ip+port+/webservice
        return new ServletRegistrationBean(new CXFServlet(),"/webservice
public class ClientTest {
    public static void main(String[] args) {
        JaxWsDynamicClientFactory jaxWsDynamicClientFactory= JaxWsDynamicClientFactory.newInstance();
        // wsdl地址
        Client client=jaxWsDynamicClientFactory.createClient("http://localhost:8080/webservice/api?wsdl");
        Object[] objects=new Object[0];
        Object[] objectPlus=new Object[0];
        ObjectMapper mapper=new ObjectMapper();
        try {
            //  对应的method以及所需args
            objects =client.invoke("getUser",96L);
            objectPlus=client.invoke("getUsers", "77");
            System.err.println(mapper.writevalueAsString(objects[0]));
            System.err.println(mapper.writevalueAsString(objectPlus[0]));
        }catch (java.lang.Exception e){
            e.printStackTrace();
        }

    }
}

2.测试
红色字体部分便是拿到的数据

success

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/601987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号