Собственно с чем я столкнулся...
Что у меня имеется:
1) soapUI бесплатный
2) xml soap-запроса
3) xml soap-ответа
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<cli:getClientProductsResponse xmlns:cli="http://spb.localhost.ru/CMA/ClientProductWS">
<cli:clientProductsContainer>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA">
<cma:creditLoan>
<cma:contractNumber>1</cma:contractNumber>
<cma:productName>0-1-0</cma:productName>
...
</cma:creditLoan>
<cma:creditLoan>
<cma:contractNumber>2</cma:contractNumber>
<cma:productName>0-2-0</cma:productName>
...
</cma:creditLoan>
<cma:creditLoan>
<cma:contractNumber>3</cma:contractNumber>
<cma:productName>0-3-0</cma:productName>
...
</cma:creditLoan>
...
</cma:clientProductsResult>
</cli:clientProductsContainer>
<cli:clientProductsContainer>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">TW</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA"/>
</cli:clientProductsContainer>
<cli:clientProductsContainer>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">SBA</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">true</cma:isError>
</cli:clientProductsContainer>
</cli:getClientProductsResponse>
</soapenv:Body>
</soapenv:Envelope>
4) XPath Assertion:
declare namespace cli='http://spb.localhost.ru/CMA/ClientProductWS'; //cli:clientProductsContainer[1]select from current которого выдает ответ:
<cli:clientProductsContainer>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode>
<cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:clientProductsResult xmlns:cma="http://products.localhost.net/CMA">
<cma:creditLoan>
<cma:contractNumber>1</cma:contractNumber>
<cma:productName>0-1-0</cma:productName>
...
</cma:creditLoan>
<cma:creditLoan>
<cma:contractNumber>2</cma:contractNumber>
<cma:productName>0-2-0</cma:productName>
...
</cma:creditLoan>
<cma:creditLoan>
<cma:contractNumber>3</cma:contractNumber>
<cma:productName>0-3-0</cma:productName>
...
</cma:creditLoan>
...
</cma:clientProductsResult>
</cli:clientProductsContainer>
Что нужно:
Сформировать условие анализа soap-ответа только по значениям (так сказать 3 условия):
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode> <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">TW</cma:systemCode> <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">SBA</cma:systemCode> <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">true</cma:isError>
Какая возникла сложность:
1. Каким либо образом возможно эти 3 условия указать в одном XPath Assertion?
2. Для первого условия заранее неизвестно сколько вернется
<cma:creditLoan> ... </cma:creditLoan>
Как обрезать условие
<cma:systemCode xmlns:cma="http://spb.localhost.ru/CMA">HMR</cma:systemCode> <cma:isError xmlns:cma="http://spb.localhost.ru/CMA">false</cma:isError>от
<cma:creditLoan> ... </cma:creditLoan>???

