SpringBoot 集成WebService接口并使用

SpringBoot 集成WebService接口并使用

1.定义接口所需要的entity

public class Person {
    private Integer id;
    private String name;
    private String niceName;
    private Integer age;
    private Double height;
}

2:创建接口类

//targetNamespace 根据自己的项目路径写
@WebService(targetNamespace = "http://oceanshan.com/webService")
public interface ApiService {
        @WebMethod
        Person insertPersonInfo(@WebParam(name = "PERSON", targetNamespace = "http://oceanshan.com/webService") String person);
}

3:实现接口
targetNamespace 和endpointInterface 根据自己的项目路径写

/**
 * @author OceansHan
 * @date 2021/1/26 15:48
 * 接口实现类
 */
@Slf4j
@Component
@WebService(name = "ApiService",
        targetNamespace = "http://oceanshan.com/webService",
        endpointInterface = "com.oceanshan.webService.ApiService",
        portName = "10000")
public class ApiServiceImpl implements ApiService {
    @Override
    public Person insertPersonInfo(String person) {
        log.info("进入接口");
        List<Person> list = JSONArray.parseArray(person, Person.class);
        //TODO 逻辑处理
        return list.get(0);
    }
}

5:定义接口配置

/**
 * @author OceansHan
 * webservice 接口配置
 */
@Configuration
public class WebService {
    @Bean
    public ServletRegistrationBean wsServlet(){
        return new ServletRegistrationBean(new CXFServlet(), "/ws/*");
    }

    @Resource
    private ApiService apiService;

    @Resource
    @Qualifier(Bus.DEFAULT_BUS_ID)
    private SpringBus bus;

    @Bean
    public Endpoint endpoint(){
        EndpointImpl endpoint = new EndpointImpl(bus, apiService);
        endpoint.publish("/ApiService");
        return endpoint;
    }

}

6:测试
浏览器测试地址:
http://localhost:8080/ws/ApiService?wsdl
soapui测试结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值