code: public static function loadMessagesAndVersions($wsdls)
      {
          $msgAndVer = [];
  
          foreach ($wsdls as $wsdl) {
              $wsdlIdentifier = self::makeWsdlIdentifier($wsdl);
  
              self::$wsdlIds[$wsdlIdentifier] = $wsdl;
  
              self::loadWsdlXpath($wsdl, $wsdlIdentifier);
  
              $operations = self::$wsdlDomXpath[$wsdlIdentifier]->query(self::XPATH_ALL_OPERATIONS);
              if ($operations->length === 0) {
                  //No operations found - are there any external WSDLs being imported?
                  $imports = self::$wsdlDomXpath[$wsdlIdentifier]->query(self::XPATH_IMPORTS);
                  $operations = [];
  
                  foreach ($imports as $import) {
                      if (!empty($import->value)) {
                          $tmpMsg = self::getMessagesAndVersionsFromImportedWsdl(
                              $import->value,
                              $wsdl,
                              $wsdlIdentifier
                          );
                          foreach ($tmpMsg as $msgName => $msgInfo) {
                              $msgAndVer[$msgName] = $msgInfo;
                          }
                      }
                  }
              }
  
              $msgAndVer = array_merge(
                  $msgAndVer,
                  self::loopOperationsWithQuery(
                      $operations,
                      self::XPATH_VERSION_FOR_OPERATION,
                      $wsdlIdentifier,
                      self::$wsdlDomXpath[$wsdlIdentifier]
                  )
              );
          }
  
          return $msgAndVer;
      }
docs: Loads messages & versions from WSDL.
  
  @param $wsdls
  @return array