public function soapServerAction()
    {
        try {
            $apiModel = $this->_getModelName($this->obj);
            //parametry WSDL
            $wsdlParams = [
                'module' => 'cms',
                'controller' => 'api',
                'action' => 'wsdl',
                'obj' => $this->obj,
            ];
            //prywatny serwer
            if (\Mmi\App\FrontController::getInstance()->getEnvironment()->authUser) {
                $apiModel .= 'Private';
                $auth = new \Mmi\Security\Auth;
                $auth->setModelName($apiModel);
                $auth->httpAuth('Private API', 'Access denied!');
                $wsdlParams['type'] = 'private';
            }
            //ścieżka do WSDL
            $url = $this->view->url($wsdlParams, true, true, $this->_isSsl());
            //typ odpowiedzi na application/xml
            $this->getResponse()->setTypeXml();
            //powołanie klasy serwera SOAP
            $soap = new SoapServer($url);
            $soap->setClass($apiModel);
            //obsługa żądania
            $soap->handle();
            return '';
        } catch (\Exception $e) {
            //rzuca wyjątek internal
            return $this->_internalError($e);
        }
    }