从0到1写一个webservice服务端

1、写一个接口

属性解释:
targetNamespace:命名空间
@WebParam.name: 参数名称

@WebService(name = "PassBackService", targetNamespace = "http://hr.service.webservice.api.controller.web.ruoyi.com")
public interface PassBackService {

     @WebMethod
     String packBackOutPersonData(@WebParam(
     name = "xmlString",
     targetNamespace = "http://hr.service.webservice.api.controller.web.ruoyi.com"
     ) String xmlString);
}

2、写一个实现类

属性解释:
serviceName : 服务名称
targetNamespace:命名空间
endpointInterface:指向的接口

@Service
@WebService(serviceName = "PassBackService", targetNamespace = "http://hr.service.webservice.api.controller.web.ruoyi.com",
        endpointInterface = "com.ruoyi.web.controller.api.webservice.service.hc.PassBackService"
)
public class PassBackServiceImpl implements PassBackService {

    @Override
    public String packBackOutPersonData(String xmlString){
    }
}    

3、发布接口

注意:
ServletRegistrationBean:配置接口访问路径前缀
Bus.DEFAULT_BUS_ID:唯一且必须
EndpointImpl:入参是待发布接口
publish:配置接口统一访问路径


@Configuration
public class WebServiceConfig {

    @Autowired
    private PassBackService passBackService;

    /**
     * 注入servlet  bean name不能dispatcherServlet 否则会覆盖dispatcherServlet
     * @return
     */
    @Bean(name = "passBackServlet")
    public ServletRegistrationBean cxfServlet() {
        return new ServletRegistrationBean(new CXFServlet(),"/webservice/*");
    }

    @Bean(name = Bus.DEFAULT_BUS_ID)
    public SpringBus springBus() {
        return new SpringBus();
    }

    /**
     * 注册passBackService接口到webservice服务
     * @return
     */
    @Bean(name = "passBackService")
    public Endpoint syncPersonProjectEndpoint() {
        EndpointImpl endpoint = new EndpointImpl(springBus(), passBackService);
        endpoint.publish("/passBack");
        Map<String,Object> propertyMap = new HashMap<>();
        propertyMap.put("autoRewriteSoapAddress",true);
        endpoint.setProperties(propertyMap);
        return endpoint;
    }
}

4、调用接口

项目中如果使用sercurity安全认证,记得加白名单

http:localhost:8080/webservice/passBack?wsdl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值