【问题标题】:how to pass parameters to XQUERY in JBOSS FUSE ESB如何在 JBOSS FUSE ESB 中将参数传递给 XQUERY
【发布时间】:2022-02-15 21:30:30
【问题描述】:

XQUERY:

 declare namespace ns5 = "http://sample.com/schema/Order/v1/";
 declare namespace ns2 = "http://sample.com/schema/Order/v1/";
 declare variable $name as xs:string external;
 declare variable $details as element() external;
 let $Address := $details/ns5:ContactInfo
 return
     <ns5:GetDetailsResponse>

           <ns2:Name>$Address/ns2:name</ns2:Name>
           <ns2:ID Version="1.5">Order service</ns2:ID>

        <ns2:Reference>
           <ns2:ID>{$name}</ns2:ID>
        </ns2:Reference>           

   </ns5:GetDetailsResponse>

骆驼路线:

 <to uri="xquery:sampleXQUERY.xq"/>

在 FUSE ESB 的骆驼路由中使用 XQUERY 端点。

如何将值传递给在此 XQUERY 中声明的变量 $name、$details??

我曾尝试在此端点之前使用 setHeader。但无法将值传递给 XQUERY。

请提出解决方案!!

【问题讨论】:

  • 请回答。建议

标签: apache-camel xquery fuseesb jbossfuse


【解决方案1】:

documentation 中所述,您可以通过设置exchange.propertiesexchange.in.headers 来传递值。

例如:

from("direct:myRoute")
        .setProperty("someProperty", simple("some value"))
        .transform().xquery("/some/xquery");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 2013-06-14
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    相关资源
    最近更新 更多