SpringBoot 搭建WebService服务端和客户端的案例分析

末蓝、 2024-03-22 08:54 125阅读 0赞

摘要:本文主要介绍了SpringBoot搭建WebService服务的服务端开发,和WebService的客户端开发,让不熟悉WebService开发的同学能够快速入门。

WebService服务端开发

pom.xml

引入主要的maven jar

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-test</artifactId>
  9. <scope>test</scope>
  10. <exclusions>
  11. <exclusion>
  12. <groupId>org.junit.vintage</groupId>
  13. <artifactId>junit-vintage-engine</artifactId>
  14. </exclusion>
  15. </exclusions>
  16. </dependency>
  17. <dependency>
  18. <groupId>org.apache.cxf</groupId>
  19. <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
  20. <version>3.3.4</version>
  21. <exclusions>
  22. <exclusion>
  23. <groupId>javax.validation</groupId>
  24. <artifactId>validation-api</artifactId>
  25. </exclusion>
  26. </exclusions>
  27. </dependency>
  28. </dependencies>
  29. 复制代码

提前定义一个UserDto对象

  1. @Data
  2. public class UserDto {
  3. private Long id;
  4. private String userName;
  5. private Boolean active;
  6. }
  7. 复制代码

申明服务接口

  1. @WebService(name = HelloService.SERVICE_NAME,targetNamespace = HelloService.TARGET_NAMESPACE)
  2. public interface HelloService {
  3. /** 暴露服务名称 */
  4. String SERVICE_NAME = "HelloService";
  5. /** 命名空间,一般是接口的包名倒序 */
  6. String TARGET_NAMESPACE = "http://hello.server.webservice.huzhihui.com";
  7. @WebMethod
  8. @WebResult(name = "String")
  9. String hi(@WebParam(name = "userName") String userName);
  10. @WebMethod
  11. @WebResult(name = "UserDto")
  12. List<UserDto> activeUsers(@WebParam(name = "userDtos") List<UserDto> userDtos);
  13. }
  14. 复制代码
  • @WebParam

该注解标识传入的参数名称,必须要写name参数,不然生成的wsdl参数名称是args1 args2 argsn

  • @WebResult

该注解标识返回的结果,必须加name参数,不然生成的wsdl返回参数是return

定义接口实现

  1. @WebService(
  2. /** 和接口的服务名称保持一致 */
  3. serviceName = HelloService.SERVICE_NAME,
  4. /** 和接口的命名空间

发表评论

表情:
评论列表 (有 0 条评论,125人围观)

还没有评论,来说两句吧...

相关阅读