def xmlString1 = '''<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/"> <soapenv:Body> <ns2:searchResponse xmlns:ns2="http://PicoServiceModel/Sale/SolutionEngine/TravelSolution/"> <searchResponse> <serviceOutcome> <status>SUCCESS</status> </serviceOutcome> <travelSolutions> <date>2020-04-29+01:00</date> <id> <travelSolutionId>76</travelSolutionId> </id> <state>NEW</state> <mainTransportTypes>TRAIN</mainTransportTypes> <xmlId>x9511614a-da01-480a-893f-a063efec5a22</xmlId> <context> <searchCriteria> <departureTimesStart>2020-04-29T08:43:19.733+02:00</departureTimesStart> <parameters> <algorithmType>SEQUENTIAL</algorithmType> <andLogicServiceFilters>false</andLogicServiceFilters> <andLogicServiceAttributeFilters>false</andLogicServiceAttributeFilters> </parameters> <departure> <id>700011296</id> </departure> <arrival> <id>700018840</id> </arrival> <roundTrip>false</roundTrip> <direction>ONE_WAY</direction> <channelFilter> <id>5110102</id> </channelFilter> </searchCriteria> <channel> <id>5110102</id> </channel> </context> <solutionNodes xsi:type="ns4:RouteSegment" xmlns:ns4="http://PicoDomainModel/Sale/SolutionEngine/" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance"> <solutionServices> <catalogServiceId> <id>7000297</id> <baselineId>1263</baselineId> </catalogServiceId> <providerId>103</providerId> </solutionServices> <solutionServices> <catalogServiceId> <id>7002008</id> <baselineId>1263</baselineId> </catalogServiceId> <providerId>103</providerId> </solutionServices> <solutionServices> <catalogServiceId> <id>607</id> <baselineId>1263</baselineId> </catalogServiceId> <providerId>103</providerId> </solutionServices> <idXml>x5429649e-4b9b-485c-ab64-1e13f5528abc</idXml> <position>0</position> <type>ROUTE_SEGMENT</type> <attributes> <name>tse.applicableRouteCodes</name> <value>002970|020080</value> </attributes> <start> <id>700011296</id> </start> <end> <id>700018840</id> </end> <commercialDistance>10</commercialDistance> <physicalDistance>13</physicalDistance> <fareStrategy>UNCLASSIFIED</fareStrategy> <otherRailwaysDistance>0</otherRailwaysDistance> <twoWayOverlapDistance>0</twoWayOverlapDistance> <subSegments xsi:type="ns4:SolutionSegment"> <idXml>xffa94195-c426-450b-8b37-a1a707a9c878</idXml> <position>0</position> <type>SOLUTION_SEGMENT</type> <start> <id>700011296</id> </start> <end> <id>700018840</id> </end> <commercialDistance>10</commercialDistance> <physicalDistance>13</physicalDistance> <fareStrategy>UNCLASSIFIED</fareStrategy> <otherRailwaysDistance>0</otherRailwaysDistance> <twoWayOverlapDistance>0</twoWayOverlapDistance> <arrivalTime>2020-04-29T08:03:00.000+01:00</arrivalTime> <departureTime>2020-04-29T07:52:00.000+01:00</departureTime> <offeredTransportMeanDeparture> <name>40037</name> <saleCompanyId>FT</saleCompanyId> <denomination>L40037</denomination> <classificationId>81</classificationId> <id> <transportOwnerId>Atoc7002</transportOwnerId> <routeId>40037</routeId> </id> <transportOrganizationId>270</transportOrganizationId> <date>2020-04-29+01:00</date> <reservationId>CC279800</reservationId> </offeredTransportMeanDeparture> <offeredTransportMeanArrival> <name>40037</name> <saleCompanyId>FT</saleCompanyId> <denomination>L40037</denomination> <classificationId>81</classificationId> <id> <transportOwnerId>Atoc7002</transportOwnerId> <routeId>40037</routeId> </id> <transportOrganizationId>270</transportOrganizationId> <date>2020-04-29+01:00</date> <reservationId>CC279800</reservationId> </offeredTransportMeanArrival> <transportInformations>2</transportInformations> </subSegments> </solutionNodes> <solutionNodes xsi:type="ns4:SolutionLocation" xmlns:ns4="http://PicoDomainModel/Sale/SolutionEngine/" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance"> <solutionServices> <catalogServiceId> <id>6000000</id> <baselineId>1263</baselineId> </catalogServiceId> </solutionServices> <idXml>xa1dbb264-e67b-458e-a526-92ae4211d306</idXml> <position>0</position> <type>SOLUTION_LOCATION</type> <location> <id>700018840</id> </location> <date>2020-04-29T07:52:00.000+01:00</date> </solutionNodes> </travelSolutions> </searchResponse> </ns2:searchResponse> </soapenv:Body> </soapenv:Envelope>''' def xmlString2 = '''<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:sal="http://PicoServiceModel/Sale/SaleProcess/SalesCoordinator/"> <soapenv:Header/> <soapenv:Body> <sal:searchBase> <searchBaseRequest> <serviceContext> <correlationId>TestSuitesearchBaseRequest</correlationId> <!--Optional:--> <channelId> <id>5110102</id> </channelId> <!--Optional:--> <lang>en</lang> </serviceContext> <offers> <id>2063</id> <baselineId>1263</baselineId> </offers> <toBeEvaluatedTravellers>?</toBeEvaluatedTravellers> <!--1 or more repetitions:--> <services> <id>7000170</id> <baselineId>1263</baselineId> </services> <services> <id>7000171</id> <baselineId>1263</baselineId> </services> </searchBaseRequest> </sal:searchBase> </soapenv:Body> </soapenv:Envelope>''' def xml1 = new XmlParser(false, true).parseText(xmlString1) def xml2 = new XmlParser(false, true).parseText(xmlString2) def tsols= xml1.'**'.findAll{it.name() == 'travelSolutions'} tsols.each { xml2.'**'.find { it.name() == 'searchBaseRequest' }.children().add( 1, it ) } println groovy.xml.XmlUtil.serialize( xml2 )
Standard input is empty
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<sal:searchBase xmlns:sal="http://PicoServiceModel/Sale/SaleProcess/SalesCoordinator/">
<searchBaseRequest>
<serviceContext>
<correlationId>TestSuitesearchBaseRequest</correlationId>
<channelId>
<id>5110102</id>
</channelId>
<lang>en</lang>
</serviceContext>
<travelSolutions>
<date>2020-04-29+01:00</date>
<id>
<travelSolutionId>76</travelSolutionId>
</id>
<state>NEW</state>
<mainTransportTypes>TRAIN</mainTransportTypes>
<xmlId>x9511614a-da01-480a-893f-a063efec5a22</xmlId>
<context>
<searchCriteria>
<departureTimesStart>2020-04-29T08:43:19.733+02:00</departureTimesStart>
<parameters>
<algorithmType>SEQUENTIAL</algorithmType>
<andLogicServiceFilters>false</andLogicServiceFilters>
<andLogicServiceAttributeFilters>false</andLogicServiceAttributeFilters>
</parameters>
<departure>
<id>700011296</id>
</departure>
<arrival>
<id>700018840</id>
</arrival>
<roundTrip>false</roundTrip>
<direction>ONE_WAY</direction>
<channelFilter>
<id>5110102</id>
</channelFilter>
</searchCriteria>
<channel>
<id>5110102</id>
</channel>
</context>
<solutionNodes xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance" xsi:type="ns4:RouteSegment">
<solutionServices>
<catalogServiceId>
<id>7000297</id>
<baselineId>1263</baselineId>
</catalogServiceId>
<providerId>103</providerId>
</solutionServices>
<solutionServices>
<catalogServiceId>
<id>7002008</id>
<baselineId>1263</baselineId>
</catalogServiceId>
<providerId>103</providerId>
</solutionServices>
<solutionServices>
<catalogServiceId>
<id>607</id>
<baselineId>1263</baselineId>
</catalogServiceId>
<providerId>103</providerId>
</solutionServices>
<idXml>x5429649e-4b9b-485c-ab64-1e13f5528abc</idXml>
<position>0</position>
<type>ROUTE_SEGMENT</type>
<attributes>
<name>tse.applicableRouteCodes</name>
<value>002970|020080</value>
</attributes>
<start>
<id>700011296</id>
</start>
<end>
<id>700018840</id>
</end>
<commercialDistance>10</commercialDistance>
<physicalDistance>13</physicalDistance>
<fareStrategy>UNCLASSIFIED</fareStrategy>
<otherRailwaysDistance>0</otherRailwaysDistance>
<twoWayOverlapDistance>0</twoWayOverlapDistance>
<subSegments xsi:type="ns4:SolutionSegment">
<idXml>xffa94195-c426-450b-8b37-a1a707a9c878</idXml>
<position>0</position>
<type>SOLUTION_SEGMENT</type>
<start>
<id>700011296</id>
</start>
<end>
<id>700018840</id>
</end>
<commercialDistance>10</commercialDistance>
<physicalDistance>13</physicalDistance>
<fareStrategy>UNCLASSIFIED</fareStrategy>
<otherRailwaysDistance>0</otherRailwaysDistance>
<twoWayOverlapDistance>0</twoWayOverlapDistance>
<arrivalTime>2020-04-29T08:03:00.000+01:00</arrivalTime>
<departureTime>2020-04-29T07:52:00.000+01:00</departureTime>
<offeredTransportMeanDeparture>
<name>40037</name>
<saleCompanyId>FT</saleCompanyId>
<denomination>L40037</denomination>
<classificationId>81</classificationId>
<id>
<transportOwnerId>Atoc7002</transportOwnerId>
<routeId>40037</routeId>
</id>
<transportOrganizationId>270</transportOrganizationId>
<date>2020-04-29+01:00</date>
<reservationId>CC279800</reservationId>
</offeredTransportMeanDeparture>
<offeredTransportMeanArrival>
<name>40037</name>
<saleCompanyId>FT</saleCompanyId>
<denomination>L40037</denomination>
<classificationId>81</classificationId>
<id>
<transportOwnerId>Atoc7002</transportOwnerId>
<routeId>40037</routeId>
</id>
<transportOrganizationId>270</transportOrganizationId>
<date>2020-04-29+01:00</date>
<reservationId>CC279800</reservationId>
</offeredTransportMeanArrival>
<transportInformations>2</transportInformations>
</subSegments>
</solutionNodes>
<solutionNodes xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance" xsi:type="ns4:SolutionLocation">
<solutionServices>
<catalogServiceId>
<id>6000000</id>
<baselineId>1263</baselineId>
</catalogServiceId>
</solutionServices>
<idXml>xa1dbb264-e67b-458e-a526-92ae4211d306</idXml>
<position>0</position>
<type>SOLUTION_LOCATION</type>
<location>
<id>700018840</id>
</location>
<date>2020-04-29T07:52:00.000+01:00</date>
</solutionNodes>
</travelSolutions>
<offers>
<id>2063</id>
<baselineId>1263</baselineId>
</offers>
<toBeEvaluatedTravellers>?</toBeEvaluatedTravellers>
<services>
<id>7000170</id>
<baselineId>1263</baselineId>
</services>
<services>
<id>7000171</id>
<baselineId>1263</baselineId>
</services>
</searchBaseRequest>
</sal:searchBase>
</soapenv:Body>
</soapenv:Envelope>