Spring integration 从http入站网关提取XML负载并提供给xslt transformer spring集成

Spring integration 从http入站网关提取XML负载并提供给xslt transformer spring集成,spring-integration,Spring Integration,我有一个需求,其中我需要公开一个带有XML负载的restful服务。之后,我需要掌握xml负载,并使用xslt transformer将其转换为不同的xml 我正在努力获取可以作为xslt转换器输入的xml负载 我想避免在头顶上乱涂乱画 有人能帮我吗 问候 Lalit当你问这样的问题时,最好展示你已经尝试过的和没有成功的 在这种情况下,您只需要一个 如果传入的内容类型包含文本;默认情况下,有效负载将为字符串。如果没有(例如,应用程序/xml),则需要将网关配置为所需的类型 request-pay

我有一个需求,其中我需要公开一个带有XML负载的restful服务。之后,我需要掌握xml负载,并使用xslt transformer将其转换为不同的xml

我正在努力获取可以作为xslt转换器输入的xml负载

我想避免在头顶上乱涂乱画

有人能帮我吗

问候
Lalit

当你问这样的问题时,最好展示你已经尝试过的和没有成功的

在这种情况下,您只需要一个

如果传入的
内容类型
包含文本;默认情况下,有效负载将为
字符串
。如果没有(例如,
应用程序/xml
),则需要将网关配置为所需的类型

request-payload-type="java.lang.String"

否则,根据Gary的建议,有效负载将是一个
字节[]

。。。使用下面的代码,它的工作

<int:channel id="inputChannel"></int:channel>

<int-http:inbound-gateway request-channel="inputChannel" path="/test" supported-methods="POST">
    <int-http:request-mapping consumes="application/xml" produces="application/xml" />
</int-http:inbound-gateway>

<int:chain input-channel="inputChannel">
    <int:service-activator ref="sa1"></int:service-activator>
    <int-xml:xslt-transformer
        xsl-resource="classpath:/testTransformer.xsl"/>
    <int:service-activator ref="sa2"></int:service-activator>   
</int:chain>

<!-- input type is byte[] -->
<bean id="sa1" class="com.fidintl.integration.ServiceActivator1">
</bean>

<!-- input type is String -->
<bean id="sa2" class="com.fidintl.integration.ServiceActivator2"></bean>

在post中(正如Gary提到的)输出是字节[],我在ServiceActivator1中将其转换为字符串

问候,,
Lalit Kumar

感谢Gary的回复。。。。我想你给了我一个非常重要的线索。。。。关于字节[]。。。。。现在我的问题解决了。。。再次非常感谢,你能建议我如何访问标题和有效负载。。。由于我想作为链的一部分执行以下任务1)从标题中提取身份验证信息2)验证xml 3)如果答案解决了您的问题,这里的习惯做法是将答案标记为“已接受”(在投票下打勾)。它帮助其他用户搜索类似的问题。你真的应该问另一个问题,而不是背着这个问题。但是,请看,;如果你还有问题,再问一个。我想问题已经解决了。。。。。。。我会问我的另一个问题,作为一个不同的职位,否则它将混合两件事。。。。