使用ColdFusion读取Web服务响应

时间:2013-06-14 10:05:33

标签: web-services soap coldfusion coldfusion-8

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
    <WSResponseHeader xmlns="http://cio.xxx.com/commonheader/v3" xmlns:ns2="http://newhorizon.xxx.com/ABCservice">
        <WSCorrelationId>?</WSCorrelationId>
    </WSResponseHeader>
</S:Header>
<S:Body>
    <ns2:newOrderResponse xmlns="http://cio.XXX.com/commonheader/v3" xmlns:ns2="http://newhorizon.XXXX.com/ABCservice">
        <ns2:ABCOrderResponse>
            <ns2:headerStatus>ERROR</ns2:headerStatus>
            <ns2:lineResponse>
                <ns2:sourceSystemRefLineNum>1</ns2:sourceSystemRefLineNum>
                <ns2:lineStatus>ERROR</ns2:lineStatus>
                <ns2:lineError>
                    <ns2:errorCode>122</ns2:errorCode>
                    <ns2:errorMessage>Billing Category Code is required.  </ns2:errorMessage>
                </ns2:lineError>
            </ns2:lineResponse>
        </ns2:ABCOrderResponse>
    </ns2:newOrderResponse>
</S:Body>
</S:Envelope>

我在ColdFusion中有一个soap Web服务代码,它调用外部Web服务,我的应用程序会将一些行传递给它。以上是应用程序将发回的响应格式。可以有多个<ns2:lineResponse>类型块。有些块会有错误标签,有些可能有成功标签。

如何迭代此响应以仅从错误标记块中提取详细信息? 当我尝试创建循环时,它也将<ns2:headerStatus>ERROR</ns2:headerStatus>计为子节点。

0 个答案:

没有答案