3

以下の SOAP 応答が与えられた場合、XPATH を使用して応答の内容のテスト/検証を行うにはどうすればよいでしょうか? 注: RunScope を使用して API をテストしています。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetValidDataExtractResponse xmlns="http://some.namespace">
<GetValidDataForExtractResult>
<long>1001</long>
<long>1002</long>
  </GetValidDataForExtractResult>
</GetValidDataExtractResponse>
</soap:Body>
</soap:Envelope>

/soap:Envelope/soap:Body を使用して、有効な値を取得できます。「GetValidDataExtractResponse」ノードに何かが含まれているかどうか、「etValidRentalUnitIdsForExtractResult」ノードに X 個のアイテムが含まれているか、またはそのノードに特定の値が含まれているかどうかを判断できるようにしたいと考えています。

4

2 に答える 2

1

わかりました、これはきれいではありませんが、うまくいくかもしれません。Runscope テストでスクリプト機能を使用すると、本文から値を抽出できます。最初の「長い」値を抽出する例を次に示します。

var parser = new marknote.Parser();
var doc = parser.parse(response.body);

var envelope = doc.getRootElement();
var body = envelope.getChildElement("soap:Body");
var resp = body.getChildElement("GetValidDataExtractResponse");
var result = resp.getChildElement("GetValidDataForExtractResult");
var long = result.getChildElement("long");
variables.set("id", long.getText());
于 2014-10-31T03:38:11.483 に答える