我使用属性“INC”来存储传入消息(在日志中正确显示)并通过有效负载介体正确映射。
我通过有效载荷获得的修改后的结构如下所示(正确映射)
稍后,我使用如下的callout mediator来获取此端点的响应。
使用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的值?
答案 0 :(得分:1)
尝试使用enrich介体来存储请求消息正文
<enrich>
<source clone="true" type="body"/>
<target property="Request_Message" type="property"/>
</enrich>
然后调用属性
<log>
<property expression="get-property('Request_Message')" name="REQUEST"/>
</log>
答案 1 :(得分:0)
您在哪里定义了序列中的“IntRequest”属性?我在你的配置中找不到它。如果将日志级别更改为自定义,则可以更清楚地看到系统日志中的请求值