1

我有一个 http-protocol Web 服务测试,它在放入参数时返回此肥皂响应:

"\n--uuid:cabe2125-cdda-4cf4-9678-b364921dc1d8\r\nContent-Type: application/xop+xml; charset=UTF-8; type="text/xml";\r\nContent-Transfer-Encoding: binary\r\nContent-ID: <root.message@cxf.apache.org>\r\n\r\n<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:hentDokumentForventningerResponse xmlns:ns2="http://some.com/service/virksomhet/henvendelsesbehandling/v1" xmlns:ns3="http://some.com/service/virksomhet/henvendelse/v1/informasjon"><dokumentForventning><id>400541</id><kodeverkId>2</kodeverkId><innsendingsValg>IKKE_VALGT</innsendingsValg><hovedskjema>false</hovedskjema></dokumentForventning><dokumentForventning><id>400542</id><kodeverkId>ja</kodeverkId><innsendingsValg>IKKE_VALGT</innsendingsValg><hovedskjema>true</hovedskjema></dokumentForventning><dokumentForventning><id>400540</id><kodeverkId>3</kodeverkId><innsendingsValg>IKKE_VALGT</innsendingsValg><hovedskjema>false</hovedskjema></dokumentForventning></ns2:hentDokumentForventningerResponse></soap:Body></soap:Envelope>\r\n--uuid:cabe2125-cdda-4cf4-9678-b364921dc1d8--"

我想提取值 400541 首先出现在:

xmlns:ns3="http://some.com/service/virksomhet/henvendelse/v1/informasjon"><dokumentForventning><id>

以上。查看soapui中的响应,我看到了结构:

soap:Envelope/soap:Body/ns2:hentDokumentForventningerResponse/dokumentForventning/id

然后我正在使用:

lr_xml_extract("XML={hentDokumentSoapRespons}",

                                    "XMLFragmentParam=OutputParameter",

                                    "Query=/soap:Envelope/soap:Body/ns2:hentDokumentForventningerResponse/dokumentForventning/id", LAST);

但我得到了错误(没有找到任何匹配):

HentDokumentforventing.c(66):警告:“lr_xml_extract”未找到任何匹配项

HentDokumentforventing.c(70):通知:参数替换:参数“OutputParameter”=“”

查看我输入参数的响应(上面粘贴的日志)并想要获取值 400541,我如何使用 lr_xml_extract() 获取它,更重要的是,鉴于上面粘贴的日志,建议使用哪个 xpath/path?

4

1 回答 1

1

尝试使用查询

/Envelope/Body/hentDokumentForventningerResponse/dokumentForventning[1]/id
于 2015-01-19T00:33:24.197 回答