1

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

4

1 に答える 1