首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有触发int:outbound网关URL

没有触发int:outbound网关URL
EN

Stack Overflow用户
提问于 2015-08-24 09:55:49
回答 1查看 945关注 0票数 1

我有下面的spring集成配置,它从从驱动器读取文件、将其转换为java对象并将http请求发送到REST APT开始。前两个步骤在我的链中运行良好,但是当涉及到int-http:outbound-gateway步骤时,URL不会被触发,也不会显示任何错误消息。应用程序保持运行状态,不显示任何错误消息。它永远不会进入kbbCvsReadResponseTransformer类,在那里我可以检查从这个REST服务接收到的响应。可能是什么原因。我使用的是spring-integration-4.1.2

代码语言:javascript
复制
<int-file:inbound-channel-adapter id="kbbFileInbound"
        channel="kbbInboundFileChannel"
        directory="file:/ftpguest/kbb-gm-rem/data"
        filename-pattern="GM_Remarketing_Pricing_Res_*.csv"
        auto-startup="true"
        prevent-duplicates="true">
        <int:poller fixed-rate="5000"/>
    </int-file:inbound-channel-adapter>

     <int:chain input-channel="kbbInboundFileChannel" output-channel="kbbCvsReadRequest">
        <int:transformer ref="kbbInputFileDataTransformer" />
    </int:chain>

    <int:chain input-channel="kbbCvsReadRequest" output-channel="cvsVehicleReadRequest">
        <int:transformer ref="kbbCvsUpdateRequestTransformer" />
    </int:chain>

    <int:chain input-channel="cvsVehicleReadRequest" output-channel="cvsVehicleReadResponse">
        <int:header-enricher>
            <int:header name="Content-Type" expression="'application/json'" />
        </int:header-enricher>
        <int-http:outbound-gateway http-method="GET" expected-response-type="com.fasterxml.jackson.databind.JsonNode"
            charset="UTF-8" request-factory="clientHttpRequestFactory" url="http://services.dev-sea.cobaltgroup.com/inventoryWebApp/rest/v1.0/vehicles/search?vin={vin};inventoryOwner={inventoryOwner}">
            <int-http:uri-variable name="vin" expression="payload.getVin()"/>
            <int-http:uri-variable name="inventoryOwner" expression="payload.getInventoryOwner()"/>
            <int-http:request-handler-advice-chain>
                <ref bean="retrier" />
            </int-http:request-handler-advice-chain>

        </int-http:outbound-gateway>

    </int:chain> 

     <int:chain input-channel="cvsVehicleReadResponse">
        <int:transformer ref="kbbCvsReadResponseTransformer" />
    </int:chain>


    <bean id="clientHttpRequestFactory"
        class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
        <property name="httpClient" value="#{httpComponentsMessageSender.httpClient}" />

    </bean>

    <bean id="kbbInputFileDataTransformer" class="com.cdk.dmg.kbb.integration.transformer.KbbInputFileDataTransformer"/>
    <bean id="kbbCvsUpdateRequestTransformer" class="com.cdk.dmg.kbb.integration.transformer.KbbCVSUpdateRequestTransformer" />
    <bean id="kbbCvsReadResponseTransformer" class="com.cdk.dmg.kbb.integration.transformer.KbbCVSReadResponseTransformer" />


    <!-- Need to use it from integration-context.xml, there are lot of issues with this file right now, so temporerly copied it here  -->
    <int:handler-retry-advice id="retrier" max-attempts="5" recovery-channel="errorChannel">
         <int:exponential-back-off initial="1000" multiplier="5.0" maximum="60000" />
    </int:handler-retry-advice>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-24 16:42:54

如果没有任何日志的确认,我们就不能帮你。

请共享DEBUG日志,以便org.springframework.integration可以了解您的消息是如何运行的。

从另一边看,您似乎有一些错误,只需根据errorChannel配置将其发送到<int:handler-retry-advice>。这就是为什么在那之后你没有收到任何cvsVehicleReadResponse的回复.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32179378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档