热门IT资讯网

使用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();    }}
0