我希望得到任何幫助與以下:了SoapUI(Groovy的) - 從另一個請求的響應傳遞的節點值,如果條件爲真
XML響應:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns3:GetSeatPlanAvailabilityResponse xmlns:ns2="http://stagecoach.com/schemas/engine/common" xmlns:ns3="http://stagecoach.com/schemas/engine/seat">
<ns3:header>
<ns2:version>1.0</ns2:version>
</ns3:header>
<ns3:journeyDetails>
<ns2:journeyId>4769046</ns2:journeyId>
<ns2:origin>
<ns2:cityId>120</ns2:cityId>
<ns2:description>Memphis, TN</ns2:description>
<ns2:stop>MEM</ns2:stop>
</ns2:origin>
<ns2:destination>
<ns2:cityId>320</ns2:cityId>
<ns2:description>Austin, TX</ns2:description>
<ns2:stop>AUS</ns2:stop>
</ns2:destination>
<ns2:departureDate>2014-07-28Z</ns2:departureDate>
<ns2:departureTime>04:00:00Z</ns2:departureTime>
</ns3:journeyDetails>
<ns3:noOfNonReservableSeatsRemaining>70</ns3:noOfNonReservableSeatsRemaining>
<ns3:singleSeats>
<ns2:singleSeat>
<ns2:seatPlanKey>US1</ns2:seatPlanKey>
<ns2:seatId>7ecc7775-6caa-4e17-80d7-6cfa46be507b</ns2:seatId>
<ns2:seatNumber>1</ns2:seatNumber>
<ns2:seatClassCode>FRN</ns2:seatClassCode>
<ns2:seatDeck>UPPER</ns2:seatDeck>
<ns2:availableForSelection>true</ns2:availableForSelection>
</ns2:singleSeat>
<ns2:singleSeat>
<ns2:seatPlanKey>US2</ns2:seatPlanKey>
<ns2:seatId>fe73cc9a-7c4f-4d1f-80e5-6131926af694</ns2:seatId>
<ns2:seatNumber>2</ns2:seatNumber>
<ns2:seatClassCode>FRN</ns2:seatClassCode>
<ns2:seatDeck>UPPER</ns2:seatDeck>
<ns2:availableForSelection>true</ns2:availableForSelection>
</ns2:singleSeat>
<ns2:singleSeat>
<ns2:seatPlanKey>US3</ns2:seatPlanKey>
<ns2:seatId>20121517-d657-438f-bc26-92bb98b20bb5</ns2:seatId>
<ns2:seatNumber>3</ns2:seatNumber>
<ns2:seatClassCode>FRN</ns2:seatClassCode>
<ns2:seatDeck>UPPER</ns2:seatDeck>
<ns2:availableForSelection>true</ns2:availableForSelection>
</ns2:singleSeat>
<ns2:singleSeat>
<ns2:seatPlanKey>US4</ns2:seatPlanKey>
<ns2:seatId>b93be6b7-ebb9-482e-9ec2-3c9d32beab32</ns2:seatId>
<ns2:seatNumber>4</ns2:seatNumber>
<ns2:seatClassCode>FRN</ns2:seatClassCode>
<ns2:seatDeck>UPPER</ns2:seatDeck>
<ns2:availableForSelection>true</ns2:availableForSelection>
</ns2:singleSeat>
</ns3:singleSeats>
<ns3:doubleSeats/>
<ns3:salesClassInformation>
<ns2:seatClassCode>FRN</ns2:seatClassCode>
<ns2:salesClassCode>SFRN</ns2:salesClassCode>
<ns2:salesClassDescription/>
<ns2:price>3.00</ns2:price>
<ns2:maxPassengers>1</ns2:maxPassengers>
</ns3:salesClassInformation>
<ns3:salesClassInformation>
<ns2:seatClassCode>LEG</ns2:seatClassCode>
<ns2:salesClassCode>SLEG</ns2:salesClassCode>
<ns2:salesClassDescription/>
<ns2:price>7.00</ns2:price>
<ns2:maxPassengers>1</ns2:maxPassengers>
</ns3:salesClassInformation>
<ns3:salesClassInformation>
<ns2:seatClassCode>TBL</ns2:seatClassCode>
<ns2:salesClassCode>STBL</ns2:salesClassCode>
<ns2:salesClassDescription/>
<ns2:price>9.00</ns2:price>
<ns2:maxPassengers>1</ns2:maxPassengers>
</ns3:salesClassInformation>
</ns3:GetSeatPlanAvailabilityResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML請求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bas="http://stagecoach.com/schemas/engine/basket" xmlns:com="http://stagecoach.com/schemas/engine/common">
<soapenv:Header/>
<soapenv:Body>
<bas:AddSeatToBasketRequest>
<bas:header>
<com:version>1.0</com:version>
<com:retailOperation>US</com:retailOperation>
<com:channel>WEB</com:channel>
</bas:header>
<bas:basketItemId>56227</bas:basketItemId>
<!--1 or more repetitions:-->
<bas:seatSelectionInput>
<com:passengerOrdinal>1</com:passengerOrdinal>
<com:SeatId>7ecc7775-6caa-4e17-80d7-6cfa46be507b</com:SeatId>
</bas:seatSelectionInput>
<bas:seatSelectionInput>
<com:passengerOrdinal>2</com:passengerOrdinal>
<com:SeatId>d653b812-3230-4a31-88e7-a4ad867fb131</com:SeatId>
</bas:seatSelectionInput>
</bas:AddSeatToBasketRequest>
</soapenv:Body>
</soapenv:Envelope>
我的要求是,我需要將<ns2:seatId>
傳遞給另一個請求,首先它應該尋找條件,當<ns2:availableForSelection>
是TRUE
,否則它應該跳到'假',並選擇`並將其傳遞給請求
有人可以請提供上述邏輯的groovy腳本?
我編輯了你的文章,但是,上面的Request和Response都是不完整的XML。另外:1)你只需要在Groovy中完成這項工作?爲什麼? 2)當'seatId'爲'false'時,你期望什麼? – SiKing
感謝您的回覆。我編輯了我的文章以包含完整的XML。 1)我首選Groovy,因爲我使用肥皂用戶界面,但我也可以使用Groovy的其他可用代碼。 2)我的要求是首先查找'真',並通過seatID並跳到'False',當真正離開並通過SeatID請求。謝謝 –
user3778964
您的要求仍不清楚!該響應具有多個'availableForSelection = true';你想要哪一個?你的請求有多個'SeatId';你想要哪一個?我不明白「當真正離開時,跳到'假'。它沒有任何意義。 – SiKing