Java 如何访问int-xml:xslt-transformer标记的多个xsl资源?

Java 如何访问int-xml:xslt-transformer标记的多个xsl资源?,java,spring,xslt,spring-integration,Java,Spring,Xslt,Spring Integration,有谁能建议我如何使用int-xml:xslt-transformer标记访问多个xsl文件吗?我已经尝试了下面的代码,但它对我没有帮助 配置完成后,当我执行junit测试用例时,下面是我在控制台中遇到的错误,请任何人在这方面帮助我 Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean

有谁能建议我如何使用int-xml:xslt-transformer标记访问多个xsl文件吗?我已经尝试了下面的代码,但它对我没有帮助


配置完成后,当我执行junit测试用例时,下面是我在控制台中遇到的错误,请任何人在这方面帮助我

Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [spring-integration/Jobs/*.xml]
Offending resource: class path resource [CustomerService/JobDesigner-springintegration.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: The 'input-channel' attribute isn't allowed for a nested (e.g. inside a <chain/>) endpoint element: 'int-xml:xpath-router' with id='responderRouter'.
Offending resource: file [D:\New CSWorkspace\CustomerService\csServer\target\test-classes\CustomerService\spring-integration\Jobs\PQGetGroupMainScreen.xml]
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:271)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:196)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:181)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:255)
    ... 42 more
原因:org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:无法从相对位置导入bean定义[spring integration/Jobs/*.xml]
有问题的资源:类路径资源[CustomerService/JobDesigner springintegration.xml];嵌套异常为org.springframework.beans.factory.parsing.beans.Bean定义ParsingException:配置问题:嵌套(例如,在内部)端点元素不允许使用“输入通道”属性:“int-xml:xpath-router”,id为='responderRouter'。
有问题的资源:文件[D:\New CSWorkspace\CustomerService\csServer\target\test classes\CustomerService\spring integration\Jobs\PQGetGroupMainScreen.xml]
位于org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
位于org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
位于org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
位于org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:271)
位于org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:196)
位于org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:181)
位于org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
位于org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
位于org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:255)
... 42多

看起来您正在使用spring integration framework。您应该在发布问题时提供所有信息。您的配置如下:

<int:chain> 
<int-xml:xpath-router id="responderRouter" input-channel="PQGetGroupMainScreen-Amisys-Channel">
        <int-xml:xpath-expression expression="/GroupMainRequest/GroupId"/>
        <int-xml:mapping value="Move" channel="items"/>
         <int-xml:mapping value="Loan" channel="parameters"/>
    </int-xml:xpath-router>

    <int-xml:xslt-transformer input-channel="items" xsl-resource="${stylesheet.amisys.soaXml.PQGetGroupMainScreen}"  /> 

    <int-xml:xslt-transformer input-channel="parameters" xsl-resource="${stylesheet.amisys.soaXml.PQGetGroupMainScreenShow}"  /> 

    <int:service-activator  ref="httpOutboundGatewayHandler" method="buildHttpOutboundGatewayRequest" />

    <int-http:outbound-gateway  url-expression="headers.restResourceUrl"
                                http-method-expression="headers.httpMethod"
                                expected-response-type="java.lang.String" >
    </int-http:outbound-gateway>

</int:chain>

路由器只能作为链的最后一个组件存在。有关详细信息,请参阅

根据异常详细信息,您应该将其更改为如下内容

  <int-xml:xpath-router id="responderRouter" input-channel="PQGetGroupMainScreen-Amisys-Channel" ouput-channel="chain">
            <int-xml:xpath-expression expression="/GroupMainRequest/GroupId"/>
            <int-xml:mapping value="Move" channel="items"/>
             <int-xml:mapping value="Loan" channel="parameters"/>
        </int-xml:xpath-router>

 <int:chain input-channel="chain> 

        <int-xml:xslt-transformer  xsl-resource="${stylesheet.amisys.soaXml.PQGetGroupMainScreen}"  /> 

        <int-xml:xslt-transformer  xsl-resource="${stylesheet.amisys.soaXml.PQGetGroupMainScreenShow}"  /> 

        <int:service-activator  ref="httpOutboundGatewayHandler" method="buildHttpOutboundGatewayRequest" />

        <int-http:outbound-gateway  url-expression="headers.restResourceUrl"
                                    http-method-expression="headers.httpMethod"
                                    expected-response-type="java.lang.String" >
        </int-http:outbound-gateway>

    </int:chain>

  <int-xml:xpath-router id="responderRouter" input-channel="PQGetGroupMainScreen-Amisys-Channel" ouput-channel="chain">
            <int-xml:xpath-expression expression="/GroupMainRequest/GroupId"/>
            <int-xml:mapping value="Move" channel="items"/>
             <int-xml:mapping value="Loan" channel="parameters"/>
        </int-xml:xpath-router>

 <int:chain input-channel="chain> 

        <int-xml:xslt-transformer  xsl-resource="${stylesheet.amisys.soaXml.PQGetGroupMainScreen}"  /> 

        <int-xml:xslt-transformer  xsl-resource="${stylesheet.amisys.soaXml.PQGetGroupMainScreenShow}"  /> 

        <int:service-activator  ref="httpOutboundGatewayHandler" method="buildHttpOutboundGatewayRequest" />

        <int-http:outbound-gateway  url-expression="headers.restResourceUrl"
                                    http-method-expression="headers.httpMethod"
                                    expected-response-type="java.lang.String" >
        </int-http:outbound-gateway>

    </int:chain>