-1

我想构建一个带有 spring 集成 http 支持的 Spring Boot 2 应用程序。但我找不到 int-http 命名空间。

我的 XML:

<int-http:outbound-gateway id="quakerHttpGateway"
     request-channel="quakeinfotrigger.channel"
     url="http://..."
     http-method="GET"
     expected-response-type="java.lang.String"
     charset="UTF-8"
     reply-timeout="5000"
     reply-channel="quakeinfo.channel">     
 </int-http:outbound-gateway>

摇篮:

buildscript {
    ext {
        springBootVersion = '2.0.0.M7'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'groovy'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'myCompany'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.springframework.boot:spring-boot-starter-integration')
    compile('org.springframework.integration:spring-integration-http')
    compile('org.codehaus.groovy:groovy')
    runtime('com.h2database:h2')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

在此处输入图像描述

4

1 回答 1

0

您应该xsi:schemaLocation在 XML 配置的开头显示定义,当然还有演示和例外。由于这是 Spring Boot 应用程序,如果能在 GitHub 上的某个地方分享它的简单版本,让我们在本地下载并播放它,那就太好了。

另外请记住,Eclipse 默认情况下不会从类路径解析 XSD,您需要启用 Spring Nature 或开始使用 Spring 兼容的 IDE。(如果是 IDE 的情况,则不是运行时问题)。

由于您使用了正确的org.springframework.integration:spring-integration-http依赖项,因此 XSD 就在那个 jar 中。只有您需要记住的是,我们推荐“无版本”模式定义,或者只使用您所依赖的 jar 版本(次要版本)。使用 Spring Boot2.0它是5.0https ://docs.spring.io/spring-integration/docs/5.0.0.RELEASE/reference/htmlsingle/#configuration-namespace

于 2018-01-10T18:31:53.487 回答