我有一个http协议Web服务测试,它在放入参数时返回这个soap响应:
"\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贴在上面?
答案 0 :(得分:1)
尝试使用查询
/Envelope/Body/hentDokumentForventningerResponse/dokumentForventning[1]/id