0

当我发送数据时,我在 WSO2 中收到了来自 Endpoint 的消息响应。我是 WSO2 的新手。你能告诉我如何在消息上获取 Job 标签(00000559)的值吗?

下面是收到的消息。

感谢和问候,

 [2013-08-24 13:25:08,295]  INFO - LogMediator To: , WSAction: http://www.abc.com/ns/transaction/Post, SOAPAction: http://www.abc.com/ns/transaction/Post,
    MessageID: urn:uuid:1e939de3-3ade-4aea-afdf-9e1defcae760, Direction: response, Envelope: <?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:soap="http:/
    /schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><PostResponse
     xmlns="http://www.syspro.com/ns/transaction/"><PostResult>&lt;?xml version="1.0" encoding="Windows-1252"?>
    &lt;postjob Language='05' Language2='EN' CssStyle='' DecFormat='1' DateFormat='01' Role='01' Version='6.1.058' OperatorPrimaryRole='   '>
    &lt;Item>
    &lt;Job>00000559&lt;/Job>
    &lt;ItemNumber>         1&lt;/ItemNumber>
    &lt;/Item>
    &lt;StatusOfItems>
    &lt;ItemsProcessed>1&lt;/ItemsProcessed>
    &lt;ItemsInvalid>0&lt;/ItemsInvalid>
    &lt;/StatusOfItems>
    &lt;/postjob>
     </PostResult></PostResponse></soap:Body></soap:Envelope>
4

1 回答 1

0

您可以使用 XPATH 表达式来获取任何标记的值。

如果您需要在作业标签中记录值,请在输出序列中使用以下

<log>
        <property name="VM_LOG" expression="//PostResponse//PostResult//postjob//Item/Job"/>
     </log>

如果您需要将其作为响应发送,您可以简单地在 out 序列中使用有效负载工厂中介

     <payloadFactory media-type="xml">
        <format>
           <results xmlns="">$1</results>
        </format>
        <args>
           <arg evaluator="xml" expression="//PostResponse//PostResult//postjob//Item/Job"/>
        </args>
     </payloadFactory>

最后,您可以添加发送中介。

<send/>

谢谢。

于 2013-08-24T08:59:49.343 回答