使用CXF创建Webservice服务端
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,1,添加依赖 org.apache.cxf cxf-spring-boot-starter-jaxws 3.2.72,定义webservice的接口package com.ultra
1,添加依赖
org.apache.cxf cxf-spring-boot-starter-jaxws 3.2.7
2,定义webservice的接口
package com.ultrapower.ioss.projectsign.service;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebService;@WebServicepublic interface ProjectSignService { @WebMethod String sendResInfo(@WebParam(name = "serSupplier") String serSupplier, @WebParam(name = "serCaller") String serCaller, @WebParam(name = "callerPwd") String callerPwd, @WebParam(name = "callTime") String callTime, @WebParam(name = "opDetail") String opDetail);}
3,完成接口的实现
package com.ultrapower.ioss.projectsign.service.defaults;import javax.jws.WebService;import org.springframework.beans.factory.annotation.Autowired;import com.ultrapower.ioss.projectsign.service.ProjectSignService;/** * 备注说明:接口实现类名称前的注解targetNamespace是当前类实现接口所在包名称的反序(PS:加上反斜线), * endpointInterface是当前需要实现接口的全称;@WebService(targetNamespace="http://service.webservicedemo.dbgo.com/", * endpointInterface = "com.dbgo.webservicedemo.service.UserService") * */@WebService(targetNamespace="http://service.projectsign.ioss.ultrapower.com/",endpointInterface = "com.ultrapower.ioss.projectsign.service.ProjectSignService")public class ProjectSignWebService implements ProjectSignService { @Override public String sendResInfo(String serSupplier, String serCaller, String callerPwd, String callTime, String opDetail) { return "success"; }}
4,添加配置
/** * http://localhost:8080/services/project?wsdl */@Configurationpublic class WebServiceConfig { @Autowired private Bus bus; @Bean public Endpoint endpoint() { EndpointImpl endpoint = new EndpointImpl(bus, projectSignService()); endpoint.publish("/project"); // endpoint.getInInterceptors().add(new LoggingInInterceptor()); // endpoint.getOutInterceptors().add(new LoggingOutInterceptor()); Swagger2Feature feature = new Swagger2Feature(); feature.setBasePath("/ws"); feature.setSupportSwaggerUi(true); endpoint.setFeatures(Arrays.asList(new Feature[] { feature })); return endpoint; } @Bean(name = Bus.DEFAULT_BUS_ID) public SpringBus springBus() { return new SpringBus(); } @Bean public ProjectSignService projectSignService() { return new ProjectSignWebService(); }}