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;
    }
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) {
                
                $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;
    }
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 ; }
Loads messages & versions from WSDL.

@param $wsdls
@return array
Loads messages & versions from WSDL .