【发布时间】:2015-02-27 03:47:17
【问题描述】:
这是我的问题。我从具有事件触发器的 DS 接收到以下 xml 到 ESB。
<messageCollection xmlns="http://services.core.solution.com/ds/queue">
<message>
<messageid>3083e5b9-f8fd-426f-a017-42439f47eefc</messageid>
<messagetypeid>1</messagetypeid>
<message>''</message>
<processed>false</processed>
<createddate>2014-12-30T14:38:11.782-04:00</createddate>
<modifieddate>2014-12-30T14:38:11.782-04:00</modifieddate>
<count>7</count>
</message>
<message>
<messageid>2283e5b9-f8fd-426f-a017-42439f47eefc</messageid>
<messagetypeid>2</messagetypeid>
<message>''</message>
<processed>false</processed>
<createddate>2014-12-30T14:38:11.782-04:00</createddate>
<modifieddate>2014-12-30T14:38:11.782-04:00</modifieddate>
<count>7</count>
</message>
</messageCollection>
并且在有效负载调解中我正在实现这个:
<payloadFactory media-type="xml">
<format>
<p:updateLastPollingControl xmlns:p="http://services.core.solution.com/ds/queue">
<xs:lastpolling xmlns:xs="http://services.core.solution.com/ds/queue">$1</xs:lastpolling>
</p:updateLastPollingControl>
</format>
<args>
<arg evaluator="xml" expression="//ns:message[last()]/ns:createddate" /> </args>
</payloadFactory>
为什么它总是返回空值。如果我对日期进行编码,一切正常。
在一个绝望的举动中我也尝试了:
> //ns:message[last()]/ns:createddate/text()
> /*/ns:message[last()]/ns:createddate
> //ns:message[last()]/createddate
> /*/message[last()]/createddate
但似乎没有任何效果。
有什么想法吗?谢谢
【问题讨论】:
标签: xpath wso2 wso2esb soa synapse