`
sillycat
  • 浏览: 2535971 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SpringBoot 2 and CXF Happy Hour

 
阅读更多
SpringBoot 2 and CXF Happy Hour

First of all, the based core configuration pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sillycat.springbootcxf</groupId>
<artifactId>spring-boot2-cxf</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>spring-boot2-cxf</name>
<description>Demo project for using Spring Boot Starter CXF</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>cxf-spring-boot-starter</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>de.codecentric</groupId>
<artifactId>cxf-spring-boot-starter-maven-plugin</artifactId>
<version>2.0.0.RELEASE</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Place the WSDL file in the class path like /src/main/resources/wsdl/
Generate Source Command
> mvn generate-sources
Health Page
http://localhost:50301/actuator/health
WSDL
http://localhost:50301/services/TroubleshootWebServiceFS?wsdl
Controller Sample
http://localhost:50301/api/hello/mini
Chrome Plugin
https://chrome.google.com/webstore/detail/wizdler/oebpmncolmhiapingjaagmapififiakb
The configuration application.yaml will be as follow:
soap:
service:
  base:
   url: /services
  publishedEndpointUrl: http://localhost:50301/services/TroubleshootWebServiceFS
messages:
  logging: true
  extract: true
 
cxf:
servicelist:
  title: Spring Boot2 CXF
info:
app:
  name: Spring Boot 2 CXF
  java:
   version: 1.0.0
  type: Microservice API
server:
address: 0.0.0.0
port: 50301
management:
endpoints:
  web:
   exposure:
    include: health,info
The simple Main Java Class
package com.sillycat.springbootcxf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class SpringBootCXFApplication extends SpringBootServletInitializer {
   
    public static void main(String[] args) {
        SpringApplication.run(SpringBootCXFApplication.class, args);
    }
   
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootCXFApplication.class);
    }
}
The Endpoint which provide the implementation of the service
package com.sillycat.springbootcxf.endpoint;
import java.util.UUID;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.intuit.developer.ArrayOfString;
import com.intuit.developer.TroubleshootWebServiceFSSoap;
import com.sillycat.springbootcxf.service.HelloService;
@Service
public class TroubleshootWebServiceFSSoapEndpoint implements TroubleshootWebServiceFSSoap {
   
    protected final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
    @Autowired
    HelloService helloService;
    @Override
    public String serverVersion() {
        LOGGER.info("enter method server version");
        return "1.0";
    }
    @Override
    public String clientVersion(String strVersion) {
        LOGGER.info("enter method client version");
        return null;
    }
    @Override
    public ArrayOfString authenticate(String strUserName, String strPassword) {
        LOGGER.info("enter method authenticate, strUserName:" + strUserName + " strPassword:" + strPassword);
        ArrayOfString arrayOfString = new ArrayOfString();
        arrayOfString.getString().add(UUID.randomUUID().toString());
        arrayOfString.getString().add("NONE");
        helloService.sayHello("YiYi Kang");
        return arrayOfString;
    }
    @Override
    public String connectionError(String ticket, String hresult, String message) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public String sendRequestXML(String ticket, String strHCPResponse, String strCompanyFileName, String qbXMLCountry,
            int qbXMLMajorVers, int qbXMLMinorVers) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public int receiveResponseXML(String ticket, String response, String hresult, String message) {
        // TODO Auto-generated method stub
        return 0;
    }
    @Override
    public String getLastError(String ticket) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public String closeConnection(String ticket) {
        // TODO Auto-generated method stub
        return null;
    }
}
The sample project is here
https://github.com/yiyikang/spring-boot2-cxf

References:
https://github.com/codecentric/spring-samples/tree/master/cxf-boot-simple
https://github.com/codecentric/cxf-spring-boot-starter
https://blog.codecentric.de/en/2016/10/spring-boot-apache-cxf-spring-boot-starter/
https://github.com/codecentric/cxf-spring-boot-starter/blob/ff24b290ab88cfe2f6bfe52de9a247276bcd26fe/src/main/java/de/codecentric/cxf/configuration/CxfAutoConfiguration.java

分享到:
评论

相关推荐

    springboot2.1.5集成CXF3.2.5,webservice服务端

    在IT行业中,Spring Boot和Apache CXF是两个非常重要的组件,它们在开发高效、轻量级的Web服务中发挥着关键作用。本文将详细介绍如何在Spring Boot 2.1.5版本中集成CXF 3.2.5,以创建一个功能完备的Web Service...

    SpringBoot框架及CXF发布WebService

    2. 配置SpringBoot的主类,启用CXF的自动配置。 3. 使用CXF的注解或Java配置定义Web服务接口和实现。 4. 创建并运行SpringBoot应用,CXF将会自动启动并暴露Web服务。 在给定的压缩包文件中,"WebService_Server...

    springboot整合CXF发布webservice和客户端调用

    SpringBoot整合CXF是将流行的Java Web服务框架CXF与SpringBoot轻量级框架结合,以便更方便地创建和消费Web服务。这个项目提供了一个很好的示例,通过详细注释帮助开发者理解如何在SpringBoot应用中发布和调用Web服务...

    WebServiceConfig java springboot利用Apache CXF创建webserice接口配置类

    webserviceApache CXF java springboot利用Apache CXF创建webserice接口 Apache CXF 核心架构是以BUS为核心,整合其他组件。 * Bus是CXF的主干, 为共享资源提供一个可配置的场所,作用类似于Spring的...

    Springboot整合cxf测试项目亲测可用

    【Springboot整合cxf测试项目】是一个实际应用了Spring Boot与Apache CXF框架集成的案例,主要用于构建Web服务。Spring Boot以其便捷的初始化配置和自动配置功能,简化了项目的搭建过程,而Apache CXF则是一个强大的...

    springBoot完整整合WebService框架CXF示例

    2. **CXF集成**:SpringBoot可以通过`spring-boot-starter-cxf`依赖来引入CXF。在配置文件`application.properties`或`application.yml`中,我们可以设置CXF的端点地址和其他相关配置。 3. **服务发布**:在服务...

    wsdl2java源码-springboot-apachecxf-client:本项目演示了如何在Springboot中实现apachecxf

    wsdl2java源码springboot-apachecxf-client 本项目演示了如何在Springboot中实现apachecxf客户端,以及如何为客户端调用生成wsdltojava。 Springboot-apachecxf-jaxws 示例 此应用程序展示了如何使用 apachecxf ...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    CXF提供了`wsdl2java`工具,可以基于Web服务的WSDL文件生成客户端代码。你可以使用Maven的CXF插件或者命令行工具来执行此操作。 生成客户端代码后,你可以在Spring Boot客户端应用中引入这些生成的类,并使用它们来...

    springboot cxf下载上传

    springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传springboot cxf下载上传...

    SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验

    SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验 本实验的主要目标是使用SpringBoot、Mybatis和CXF框架来实现Restful API和WebService API接口的大实验。下面是实验的详细介绍: 标题...

    SpringBoot WebService cxf接口发布以及logbok日志集成

    在IT行业中,SpringBoot、WebService和cxf是三个非常重要的技术组件,它们分别代表了现代Java应用程序开发的基础、服务间通信的重要方式以及一种强大的服务框架。在这个主题中,我们将深入探讨如何在SpringBoot项目...

    springboot_cxf_security

    在本项目"springboot_cxf_security"中,我们主要探讨的是如何将Spring Boot、Apache CXF和Spring Security整合,以创建一个集成了Web服务(Webservice)和模型视图控制器(MVC)功能的应用程序。以下是对这些技术的...

    【webservice】Springboot整合CXF包括源码

    这里`2.x.x.RELEASE`和`3.x.x.RELEASE`需要替换为实际的Spring Boot和CXF版本号。 接下来,我们需要创建一个CXF的Web服务接口。这个接口通常会遵循JAX-WS规范,定义服务的操作。例如: ```java import javax.jws....

    cxf与springboot整合开发文档

    cxf整合springboot项目开发文档实例cxf整合springboot项目开发文档实例cxf整合springboot项目开发文档实例

    SpringBoot开发WebService之CXF示例

    SpringBoot和CXF都提供了多种安全策略,如OAuth2、Basic认证、SSL/TLS等,可以根据项目需求进行配置。 通过以上步骤,我们可以利用SpringBoot和CXF的强大功能快速构建和部署Web服务。在`springboot_wscxf`这个项目...

    springboot+cxf实例

    一个用springboot搭建的简单的cxf实例,可以用于入门跟学习

    springboot-cxf-webservice

    SpringBoot与CXF WebService整合教程 在Java世界中,SpringBoot以其简洁的配置和快速的应用开发能力,已经成为主流的微服务框架。而CXF作为一款强大的SOAP和RESTful Web服务框架,使得开发者能够轻松地创建和消费...

    springboot+CXF发布webservice接口

    而CXF则是一个开源服务框架,它支持多种Web服务标准,如SOAP和RESTful API,使得开发和部署Web服务变得简单。本教程将详细介绍如何在Spring Boot项目中集成CXF来发布Web服务接口。 首先,我们需要确保项目中包含了...

    Spring CXF Restful 实例

    Spring Security可以与Spring CXF很好地集成,提供基于角色的访问控制和OAuth2支持。 8. **监控和日志**:为了监控服务性能和错误,我们可以配置Spring CXF的日志和跟踪功能,同时可以使用Spring Boot Actuator等...

    springboot+webservice+cxf

    SpringBoot与CXF整合创建Web服务 在现代的软件开发中,Web服务是实现系统间交互的重要手段。SpringBoot以其轻量级、快速启动和易于配置的特点,成为了开发微服务的首选框架。而Apache CXF则是一个强大的开源框架,...

Global site tag (gtag.js) - Google Analytics