【发布时间】:2017-03-05 21:10:03
【问题描述】:
尝试处理WSO2中xml格式的IMB MQ消息。
我能够从队列中读取消息。我的信息是这样的:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<vi:Show xmlns:vi="urn:vehdpms.tms.t.com/vehinv">
<vi:VehicleInventoryBOD>
<emf:ApplicationArea xmlns:emf="http://ice.tms.t.com/EMF">
<emf:CreationDateTime>2017-01-09T11:18:04.622-08:00</emf:CreationDateTime>
<emf:BODID>daedfeed-a56c-4d4a-bf8d-77d0bcd00899</emf:BODID>
<emf:Sender>
<emf:ServiceName>Vehicle Inventory</emf:ServiceName>
<emf:ServiceVersion>GETSH</emf:ServiceVersion>
</emf:Sender>
<rtm:RTMHeader xmlns:rtm="urn:vehdpms.tms.t.com/rtmheader">
<rtm:Source>
<rtm:Company>TMS</rtm:Company>
<rtm:System>VROR</rtm:System>
</rtm:Source>
<rtm:Response>
<rtm:Name>Vehicle Inventory</rtm:Name>
</rtm:Response>
</rtm:RTMHeader>
</emf:ApplicationArea>
<vi:DataArea>
<vi:Verb>Show</vi:Verb>
<vi:VehicleInventory>
<vi:UnitId>122755280</vi:UnitId>
<vi:URN>NJ19555772</vi:URN>
<vi:WMI>5YF</vi:WMI>
<vi:VDSPrefix>BURHE</vi:VDSPrefix>
<vi:VIN>5YFAAAAE5HP765434</vi:VIN>
试图将 5YFAAAAE5HP765434 放入属性中。 我正在使用属性调解器从 XML 中提取 VIN 号...我指向 xml,所以我得到了类似的东西
<inSequence>
<property expression="/soapenv:Envelope/soapenv:Body/vi:Show/vi:VehicleInventoryBOD/vi:DataArea/vi:VehicleInventory/vi:VIN" name="test" scope="default" type="STRING" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
<log level="custom">
<property expression="get-property('test')" name="Requested VIN"/>
</log>
</inSequence>
但我还是没听懂……我的信息就像
TID[-1234] [ESB] [2017-03-05 00:29:39,641] 信息 {org.apache.synapse.mediators.builtin.LogMediator} - 请求的 VIN =
所以在属性中的表达有问题...有人可以指出我正确的方向吗..
【问题讨论】: