【问题标题】:Getting wrong value while using property mediator in WSO2 ESB在 WSO2 ESB 中使用属性中介时获取错误值
【发布时间】:2017-02-01 08:37:29
【问题描述】:

我正在使用属性“INC”来存储传入消息(在日志中正确显示)并通过有效负载调解器进行正确映射。

我通过有效载荷得到的修改后的结构如下。(正确映射)

稍后,我将使用如下的标注调解器从该端点获取响应。

使用 LogText 查看响应。

然后添加过滤器如下:

<property name="INC" expression="get-property('IntRequest')" scope="default" type="STRING"/>

<property name="LogText" value="call response" scope="default" type="STRING"/>

<filter xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:platformFaults="urn:faults_2015_1.platform.webservices.com" source="//platformFaults:code/text()" regex="WS_CONCUR_SESSION_DISALLWD"> <then> <log level="full" separator=",*Fault in Call***"> <property name="REQUEST" expression="get-property('INC')" scope="default" type="STRING" /> </log> </then> <else/> </filter>

但是,在这里我没有得到 REQUEST 的值.. 它显示了“呼叫响应”的值.. 如何正确获取 REQUEST 的值??

【问题讨论】:

  • 你的问题不清楚。您有名为IntRequest 的属性吗?

标签: properties wso2 mediator


【解决方案1】:

尝试使用丰富的中介来存储请求消息体

<enrich>
  <source clone="true" type="body"/>
  <target property="Request_Message" type="property"/>
</enrich>

然后调用属性

<log>
    <property expression="get-property('Request_Message')" name="REQUEST"/>
</log>

【讨论】:

    【解决方案2】:

    您在序列中的何处定义了“IntRequest”属性?我在您的配置中找不到它。如果您将日志级别更改为自定义,则可以更清楚地看到系统日志中的请求值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 2012-08-31
      相关资源
      最近更新 更多