У меня есть SOAP запрос, как этотSoapUI - значение ответа на матч со значением запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://request.com" xmlns:dto="http://dto.com">
<soapenv:Header/>
<soapenv:Body>
<req:requestInput>
......
<dto:correlationId>${=UUID.randomUUID().toString().replaceAll("-", "").toUpperCase().substring(0, 16);}</dto:correlationId>
......
</req:requestInput>
</soapenv:Body>
</soapenv:Envelope>
и SOAP-ответ на вышеуказанную просьбу, как
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:res="http://response.com" xmlns:dto="http://dto.com">
<soapenv:Header/>
<soapenv:Body>
<res:responseOutput>
......
<dto:correlationId>539A708FA1B44490</dto:correlationId>
......
</res:responseOutput>
</soapenv:Body>
</soapenv:Envelope>
И это мое утверждение Выражение XPath:
declare namespace env="http://schemas.xmlsoap.org/soap/envelope/";
declare namespace req="http://request.com";
declare namespace res="http://response.com";
declare namespace dto="http://dto.com";
//res:responseOutput/dto:correlationId/text()
Ожидаемое значение:
${Request#//req:requestInput/dto:correlationId/text()}
Ошибка:
XPathContains comparison failed for path [
declare namespace env="http://schemas.xmlsoap.org/soap/envelope/";
declare namespace req="http://request.com";
declare namespace res="http://response.com";
declare namespace dto="http://dto.com";
//res:responseOutput/dto:correlationId/text()], expecting [6F37EA93D0454E67], actual was [539A708FA1B44490]
Я хочу, чтобы проверить, если значение, переданное в корреляционного идентификатор в запросе SOAP возвращается в ответ или нет.
Когда этот тестовый пример выполнен, он создал 539A708FA1B44490 в запросе SOAP для идентификатора корреляции.
, но при выполнении утверждения скрипт для корреляцииId снова вычисляется, который генерирует другой идентификатор.
Я просто хочу получить идентификатор coorelation в полезной нагрузке, отправленной в запросе, чтобы я мог сравнивать.
Я просмотрел документы и искал решение, и я этого не сделал.
Я ценю помощь заранее.
Спасибо за ваше время, SiKing. Я не могу сохранить корреляцию в скрипте установки, поскольку он уникален для каждого этапа тестирования. Не хотите писать скрипт после каждого тестового шага, чтобы обновить корреляцию для следующего запроса. –
Bummer! Поэтому в этом случае я должен был бы спросить: есть ли * выгода * при проверке этого 'correId'? – SiKing
Вот так. при отсутствии корреляции в запросе, он генерируется в web-сервисе. Если он присутствует, он возвращается. Поэтому я должен проверить, не возвращает ли он коррелятор или нет, когда он присутствует. –