fork download
  1. def xmlString1 = '''<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/">
  2. <soapenv:Body>
  3. <ns2:searchResponse xmlns:ns2="http://PicoServiceModel/Sale/SolutionEngine/TravelSolution/">
  4. <searchResponse>
  5. <serviceOutcome>
  6. <status>SUCCESS</status>
  7. </serviceOutcome>
  8. <travelSolutions>
  9. <date>2020-04-29+01:00</date>
  10. <id>
  11. <travelSolutionId>76</travelSolutionId>
  12. </id>
  13. <state>NEW</state>
  14. <mainTransportTypes>TRAIN</mainTransportTypes>
  15. <xmlId>x9511614a-da01-480a-893f-a063efec5a22</xmlId>
  16. <context>
  17. <searchCriteria>
  18. <departureTimesStart>2020-04-29T08:43:19.733+02:00</departureTimesStart>
  19. <parameters>
  20. <algorithmType>SEQUENTIAL</algorithmType>
  21. <andLogicServiceFilters>false</andLogicServiceFilters>
  22. <andLogicServiceAttributeFilters>false</andLogicServiceAttributeFilters>
  23. </parameters>
  24. <departure>
  25. <id>700011296</id>
  26. </departure>
  27. <arrival>
  28. <id>700018840</id>
  29. </arrival>
  30. <roundTrip>false</roundTrip>
  31. <direction>ONE_WAY</direction>
  32. <channelFilter>
  33. <id>5110102</id>
  34. </channelFilter>
  35. </searchCriteria>
  36. <channel>
  37. <id>5110102</id>
  38. </channel>
  39. </context>
  40. <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">
  41. <solutionServices>
  42. <catalogServiceId>
  43. <id>7000297</id>
  44. <baselineId>1263</baselineId>
  45. </catalogServiceId>
  46. <providerId>103</providerId>
  47. </solutionServices>
  48. <solutionServices>
  49. <catalogServiceId>
  50. <id>7002008</id>
  51. <baselineId>1263</baselineId>
  52. </catalogServiceId>
  53. <providerId>103</providerId>
  54. </solutionServices>
  55. <solutionServices>
  56. <catalogServiceId>
  57. <id>607</id>
  58. <baselineId>1263</baselineId>
  59. </catalogServiceId>
  60. <providerId>103</providerId>
  61. </solutionServices>
  62. <idXml>x5429649e-4b9b-485c-ab64-1e13f5528abc</idXml>
  63. <position>0</position>
  64. <type>ROUTE_SEGMENT</type>
  65. <attributes>
  66. <name>tse.applicableRouteCodes</name>
  67. <value>002970|020080</value>
  68. </attributes>
  69. <start>
  70. <id>700011296</id>
  71. </start>
  72. <end>
  73. <id>700018840</id>
  74. </end>
  75. <commercialDistance>10</commercialDistance>
  76. <physicalDistance>13</physicalDistance>
  77. <fareStrategy>UNCLASSIFIED</fareStrategy>
  78. <otherRailwaysDistance>0</otherRailwaysDistance>
  79. <twoWayOverlapDistance>0</twoWayOverlapDistance>
  80. <subSegments xsi:type="ns4:SolutionSegment">
  81. <idXml>xffa94195-c426-450b-8b37-a1a707a9c878</idXml>
  82. <position>0</position>
  83. <type>SOLUTION_SEGMENT</type>
  84. <start>
  85. <id>700011296</id>
  86. </start>
  87. <end>
  88. <id>700018840</id>
  89. </end>
  90. <commercialDistance>10</commercialDistance>
  91. <physicalDistance>13</physicalDistance>
  92. <fareStrategy>UNCLASSIFIED</fareStrategy>
  93. <otherRailwaysDistance>0</otherRailwaysDistance>
  94. <twoWayOverlapDistance>0</twoWayOverlapDistance>
  95. <arrivalTime>2020-04-29T08:03:00.000+01:00</arrivalTime>
  96. <departureTime>2020-04-29T07:52:00.000+01:00</departureTime>
  97. <offeredTransportMeanDeparture>
  98. <name>40037</name>
  99. <saleCompanyId>FT</saleCompanyId>
  100. <denomination>L40037</denomination>
  101. <classificationId>81</classificationId>
  102. <id>
  103. <transportOwnerId>Atoc7002</transportOwnerId>
  104. <routeId>40037</routeId>
  105. </id>
  106. <transportOrganizationId>270</transportOrganizationId>
  107. <date>2020-04-29+01:00</date>
  108. <reservationId>CC279800</reservationId>
  109. </offeredTransportMeanDeparture>
  110. <offeredTransportMeanArrival>
  111. <name>40037</name>
  112. <saleCompanyId>FT</saleCompanyId>
  113. <denomination>L40037</denomination>
  114. <classificationId>81</classificationId>
  115. <id>
  116. <transportOwnerId>Atoc7002</transportOwnerId>
  117. <routeId>40037</routeId>
  118. </id>
  119. <transportOrganizationId>270</transportOrganizationId>
  120. <date>2020-04-29+01:00</date>
  121. <reservationId>CC279800</reservationId>
  122. </offeredTransportMeanArrival>
  123. <transportInformations>2</transportInformations>
  124. </subSegments>
  125. </solutionNodes>
  126. <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">
  127. <solutionServices>
  128. <catalogServiceId>
  129. <id>6000000</id>
  130. <baselineId>1263</baselineId>
  131. </catalogServiceId>
  132. </solutionServices>
  133. <idXml>xa1dbb264-e67b-458e-a526-92ae4211d306</idXml>
  134. <position>0</position>
  135. <type>SOLUTION_LOCATION</type>
  136. <location>
  137. <id>700018840</id>
  138. </location>
  139. <date>2020-04-29T07:52:00.000+01:00</date>
  140. </solutionNodes>
  141. </travelSolutions>
  142. </searchResponse>
  143. </ns2:searchResponse>
  144. </soapenv:Body>
  145. </soapenv:Envelope>'''
  146.  
  147. def xmlString2 = '''<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:sal="http://PicoServiceModel/Sale/SaleProcess/SalesCoordinator/">
  148. <soapenv:Header/>
  149. <soapenv:Body>
  150. <sal:searchBase>
  151. <searchBaseRequest>
  152. <serviceContext>
  153. <correlationId>TestSuitesearchBaseRequest</correlationId>
  154. <!--Optional:-->
  155. <channelId>
  156. <id>5110102</id>
  157. </channelId>
  158. <!--Optional:-->
  159. <lang>en</lang>
  160. </serviceContext>
  161. <offers>
  162. <id>2063</id>
  163. <baselineId>1263</baselineId>
  164. </offers>
  165. <toBeEvaluatedTravellers>?</toBeEvaluatedTravellers>
  166. <!--1 or more repetitions:-->
  167. <services>
  168. <id>7000170</id>
  169. <baselineId>1263</baselineId>
  170. </services>
  171. <services>
  172. <id>7000171</id>
  173. <baselineId>1263</baselineId>
  174. </services>
  175. </searchBaseRequest>
  176. </sal:searchBase>
  177. </soapenv:Body>
  178. </soapenv:Envelope>'''
  179.  
  180. def xml1 = new XmlParser(false, true).parseText(xmlString1)
  181. def xml2 = new XmlParser(false, true).parseText(xmlString2)
  182.  
  183. def tsols= xml1.'**'.findAll{it.name() == 'travelSolutions'}
  184. tsols.each {
  185. xml2.'**'.find { it.name() == 'searchBaseRequest' }.children().add( 1, it )
  186. }
  187. println groovy.xml.XmlUtil.serialize( xml2 )
Success #stdin #stdout 2.13s 135880KB
stdin
Standard input is empty
stdout
<?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>