src/XSD2PHP/src/com/mikebevz/xsd2php/wsdl/Wsdl_1_1.php
private function extractTypes()
    {
        $allEl = array();
        $allImp = array();
        $methods = array();
        
        foreach ($this->methodsMeta as $methodName => $data) {
            $elements = array();
            $input = false;
            $output = false;
            if (count($data['params']) == 1) {
                $type = $this->common->phpTypeToSoap($data['params'][0]['type']);
                $els = array();
                if ($type === false) {
                    $type = $this->getTypeName($data['params'][0]['type']);
                    $els [] = $this->createRefElement($type);
                } else {
                    $els [] = $this->createSimpleElement(ucfirst($data['params'][0]['name']), $data['params'][0]['type']);
                }
                $elements[] = $this->createElementWithComplexType(ucfirst($methodName), $els);
                $this->addMessage(ucfirst($methodName), $this->targetNsPrefix.":".ucfirst($methodName));
                $input = true;
            } elseif ($data['params'] > 1) {
                $els = array();
                foreach ($data['params'] as $input) {
                    $type = $this->common->phpTypeToSoap($input['type']);
                    if ($type === false) {
                        $type = $this->getTypeName($input['type']);
                        $els [] = $this->createRefElement($type);
                    } else {
                        $els [] = $this->createSimpleElement(ucfirst($input['name']), $input['type']);
                    }
                }
                $elements[] = $this->createElementWithComplexType(ucfirst($methodName), $els);
                $this->addMessage(ucfirst($methodName), $this->targetNsPrefix.":".ucfirst($methodName));
                $input = true;
            }
            
            if (array_key_exists('return', $data)) {
                $type = $this->common->phpTypeToSoap($data['return']['type']);
                if ($type === false) {
                    //@todo Create complex type
                } else {
                    $elements [] = $this->createSimpleElement(ucfirst($methodName)."Response", $type);
                }
                //$messages[] = $this->targetNsPrefix.":".ucfirst($methodName)."Response";
                $this->addMessage(ucfirst($methodName)."Response", $this->targetNsPrefix.":".ucfirst($methodName));
                $output = true;
            }
            
            foreach ($this->xmlSchemaImports as $imp) {
                array_push($allImp, $imp);
            }
            
            foreach ($elements as $element) {
                array_push($allEl, $element);
            }
            
            
            $this->addPortOperations(ucfirst($methodName), $input, $output);
            $this->addBindingOperations(ucfirst($methodName), $input, $output);
        }
        
        foreach ($allImp as $import) {
            $this->wsXmlSchema->appendChild($import);
        }
        
        foreach ($allEl as $element) {
            $this->wsXmlSchema->appendChild($element);
        }
        
        // Add port operations
        
        //print_r($messages);
    }
private function extractTypes()
    {
        $allEl = array();
        $allImp = array();
        $methods = array();
        
        foreach ($this->methodsMeta as $methodName => $data) {
            $elements = array();
            $input = false;
            $output = false;
            if (count($data['params']) == 1) {
                $type = $this->common->phpTypeToSoap($data['params'][0]['type']);
                $els = array();
                if ($type === false) {
                    $type = $this->getTypeName($data['params'][0]['type']);
                    $els [] = $this->createRefElement($type);
                } else {
                    $els [] = $this->createSimpleElement(ucfirst($data['params'][0]['name']), $data['params'][0]['type']);
                }
                $elements[] = $this->createElementWithComplexType(ucfirst($methodName), $els);
                $this->addMessage(ucfirst($methodName), $this->targetNsPrefix.":".ucfirst($methodName));
                $input = true;
            } elseif ($data['params'] > 1) {
                $els = array();
                foreach ($data['params'] as $input) {
                    $type = $this->common->phpTypeToSoap($input['type']);
                    if ($type === false) {
                        $type = $this->getTypeName($input['type']);
                        $els [] = $this->createRefElement($type);
                    } else {
                        $els [] = $this->createSimpleElement(ucfirst($input['name']), $input['type']);
                    }
                }
                $elements[] = $this->createElementWithComplexType(ucfirst($methodName), $els);
                $this->addMessage(ucfirst($methodName), $this->targetNsPrefix.":".ucfirst($methodName));
                $input = true;
            }
            
            if (array_key_exists('return', $data)) {
                $type = $this->common->phpTypeToSoap($data['return']['type']);
                if ($type === false) {
                    //@todo Create complex type
                } else {
                    $elements [] = $this->createSimpleElement(ucfirst($methodName)."Response", $type);
                }
                //$messages[] = $this->targetNsPrefix.":".ucfirst($methodName)."Response";
                $this->addMessage(ucfirst($methodName)."Response", $this->targetNsPrefix.":".ucfirst($methodName));
                $output = true;
            }
            
            foreach ($this->xmlSchemaImports as $imp) {
                array_push($allImp, $imp);
            }
            
            foreach ($elements as $element) {
                array_push($allEl, $element);
            }
            
            
            $this->addPortOperations(ucfirst($methodName), $input, $output);
            $this->addBindingOperations(ucfirst($methodName), $input, $output);
        }
        
        foreach ($allImp as $import) {
            $this->wsXmlSchema->appendChild($import);
        }
        
        foreach ($allEl as $element) {
            $this->wsXmlSchema->appendChild($element);
        }
        
        // Add port operations
        
        //print_r($messages);
    }
Extract types from WSDL

@return void