パラメータに入力すると、次の SOAP 応答を返す 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() を使用してそれを取得するにはどうすればよいですか?