2014-12-08 5 views
0

SOAP UI 4.6.1에서 간단한 루프를 구현하려고합니다. 문서에 따르면 '조건부 이동'단계를 통해 이전 응답에 대한 XPath 표현식을 평가할 수 있습니다. 주어진 응답시SOAP UI의 조건부 Goto에서 XPath 평가

는 :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
     <ns2:GetVeryImportantDetailsResponse xmlns:ns2="http://www.bigcompany.com/XYZ/VeryImportantService/V1"> 
     <Status Reason="You did everything wrong again" Code="nok"/> 
     </ns2:GetVeryImportantDetailsResponse> 
    </soap:Body> 
</soap:Envelope> 

나는 코드 'NOK을'동일한 경우 또 다른 단계로 이동합니다. 불행히도 나는 이것을 어떤 식 으로든 성취 할 수 없다. 몇 가지 예 :

exists("//Status/Code[text() = 'nok']") -> true 
exists("//Status/Code[text() = 'ok']") -> true 

exists(//Status/Code[text() = "nok"]) -> false 
exists(//Status/Code[text() = "ok"]) -> false 

starts-with("//Status/Code", 'nok') -> false 
starts-with("//Status/Code", 'ok') -> false 

starts-with(//Status/Code, 'nok') -> false 
starts-with(//Status/Code, 'ok') -> false 

SOAP UI의 버그입니까? 아니면 잘못된 것입니까?

답변

1

잘못하고 있습니다. XPath 구문이 잘못되었습니다.

시도 : exists(//Status[@Code = 'nok']).

+0

감사합니다. 왜 @에 액세스 할 수 있는지 잊어 버렸습니다. 다음 표현식도 사용할 수 있습니다. // Status/@ Code = 'nok'및 starts-with (// Status/@ Code, 'nok') –