WSO2 IBM MQ xml消息解析问题
正在尝试以xml格式处理WSO2中的IMB MQ消息 我能够从队列中读取消息。我的信息是:WSO2 IBM MQ xml消息解析问题,wso2,wso2esb,Wso2,Wso2esb,正在尝试以xml格式处理WSO2中的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>
<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>
2017-01-09T11:18:04.622-08:00
daedfeed-a56c-4d4a-bf8d-77d0bcd00899
车辆清单
格茨
经颅多普勒
弗罗尔
车辆清单
显示
122755280
NJ19555772
5YF
布里
5YFAAAE5HP765434
试图将5yfaaae5hp765434放入属性。
我正在使用属性中介从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:39641]信息{org.apache.synapse.mediators.builtin.LogMediator}-请求的VIN=
所以属性中的表达式有问题。。。有人能把我推到正确的方向吗?您的调解中应该有一个例外,因为前缀vi:没有标记 试一试:
<property expression="$body/vi:Show/vi:VehicleInventoryBOD/vi:DataArea/vi:VehicleInventory/vi:VIN" name="test" scope="default" type="STRING" xmlns:vi="urn:vehdpms.tms.t.com/vehinv"/>
感谢Jean Michel的快速响应,但运气不好……仍然没有VIN:(