private function _compile(){

        $url = jUrl::get($this->module.'~'.$this->controller.':index@soap',array(),jUrl::JURL);
        $url->clearParam ();
        $url->setParam('service',$this->module.'~'.$this->controller );

        $serverUri = jUrl::getRootUrlRessourceValue('soap');
        if ($serverUri === null) {
            $serverUri = jUrl::getRootUrlRessourceValue('soap-'.$this->module);
        }
        if ($serverUri === null) {
            $serverUri = jUrl::getRootUrlRessourceValue('soap-'.$this->module.'-'.$this->controller);
        }
        if ($serverUri === null) {
            $serverUri = jApp::coord()->request->getServerURI();
        }

        $serviceURL = $serverUri .$url->toString();
        $serviceNameSpace = $serverUri . jApp::urlBasePath();

        $wsdl = new WSDLStruct($serviceNameSpace, $serviceURL, SOAP_RPC, SOAP_ENCODED);
        $wsdl->setService(new IPReflectionClass($this->controllerClassName));

        try {
            $gendoc = $wsdl->generateDocument();
        } catch (WSDLException $exception) {
            throw new JException('jsoap~errors.wsdl.generation', $exception->msg);
        }

        return $gendoc;
    }