Ошибка при использовании Property Transfer в SoapUI "Missing match for Target XPath"


(Andriy Shevtsov) #1

Коллеги, добрый день. Возможно кто-нибудь сталкивался с такой проблемой при использовании Property Transfer в SoapUI. Подозреваю что я неправильно прописал XPath.

Missing match for Target XPath

[Здесь][1] нашел описание похожей проблемы, но у меня ситуация иная

Вот такой вот использую XPath в качестве Source (хочу использовать параметр extId)

declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace in='http://DepositEngineModule/DepositInterface';
//soapenv:Envelope/soapenv:Body/in:openByCardStep1Response/response/request/extId

Вот такой вот использую XPath в качестве Target (хочу вставить значение из предыдущего респонса в параметр extId)

declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace dep='http://DepositEngineModule/DepositInterface';
soapenv:Envelope/soapenv:Header/soapenv:Body/dep:openByCardStep2/request/ticket/extId

Хочу выполнить трансфер из респонса в реквест. Примеры Responce и Request

Responce

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dep="http://DepositEngineModule/DepositInterface">
   <soapenv:Header/>
   <soapenv:Body>
      <dep:openByAccountStep1Response>
         <response>
            <!--Optional:-->
            <request>
               <ref>?</ref>
               <extId>?</extId>
               <type>?</type>
               <createDate>?</createDate>
               <!--Optional:-->
               <updateDate>?</updateDate>
               <!--Optional:-->
               <description>?</description>
            </request>
            <!--Optional:-->
            <status>
               <code>?</code>
               <!--Optional:-->
               <text>?</text>
               <date>?</date>
            </status>
            <!--Optional:-->
            <feeAmount>?</feeAmount>
         </response>
      </dep:openByAccountStep1Response>
   </soapenv:Body>
</soapenv:Envelope>

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dep="http://DepositEngineModule/DepositInterface">
   <soapenv:Header/>
   <soapenv:Body>
      <dep:openByAccountStep2>
         <request>
            <extId>?</extId>
            <clientId>?</clientId>
            <!--Optional:-->
            <clientLang>?</clientLang>
            <ticket>
               <!--Optional:-->
               <ref>?</ref>
               <!--Optional:-->
               <extId>?</extId>
            </ticket>
<isConfirmed>?</isConfirmed>
         </request>
      </dep:openByAccountStep2>
   </soapenv:Body>
</soapenv:Envelope>

Кто нибудь может помочь с решением этого вопроса?
[1]: http://stackoverflow.com/questions/8224342/how-to-get-property-transfer-in-soapui-testcase-to-work


(Михаил Братухин) #2

Property Transfer довольно неудобная штука, я от них отказался в пользу groovy script, потому что текст проще копипастить. :smile:

Не пробовали убрать namespace и просто указать: //dep:openByAccountStep1Response/response/request/extId ?

Тоже самое для request’а