public function soapServer($request, $response)
 {/*{{{*/
     $postdata = file_get_contents("php://input");
     $function = 'soapServer';
     $this->ioLogRecorder->addLog(XDateTime::now()->toString()." service [{$function}] ".$this->ioLogRecorder->format2SimpleLog($postdata));
     $configs = ProviderConfigFactory::getProviderAppConfigs(PhoneConference::SPTYPE_HUAWEI, TeleConfProvider::APPTYPE_CONF);
     $callbackUrl = $configs['callbackUrl'];
     $server = new SoapServer(null, array('uri' => 'HuaweiConfCallback','location'=>$callbackUrl));
     $server->setClass('HuaweiTeleConfApi');
     try
     {
         $lockName = $this->getLockerName($postdata);
         $cacher= DAL::get()->getCache(Cacher::CACHETYPE_LOCKER);
         $locker  = LockUtil::factory(LockUtil::LOCK_TYPE_MEMCACHE, array('memcache' => $cacher));
         $locker->getLock($lockName);
         $server->handle();
         $locker->releaseLock($lockName);
     }
     catch(Exception $ex)
     {
         $locker->releaseLock($lockName);
     }
     header("HTTP/1.1 202 Accepted");
     header("Content-Type: text/xml;charset=UTF-8");
     return parent::DIRECT_OUTPUT;
 }/*}}}*/
Example #2
1
 public function callback()
 {
     $s = new SoapServer(DIR_CONFIG . 'ishopclientws.wsdl');
     $s->setClass('qiwiSoap');
     $s->handle();
     exit;
 }
 /**
  * Intercept the soapServer method call in order to handle the call thrue the process method
  * Return php variables, the soap server will transform it in a soap response
  */
 public function processSoap()
 {
     $this->wsdl = new jWSDL($this->request->params['module'], $this->request->params['action']);
     $this->soapServer = $this->getSoapServer($this->wsdl);
     $this->soapServer->setclass('jSoapHandler', $this);
     $this->soapServer->handle($this->request->soapMsg);
 }
 /**
  * @return \BeSimple\SoapBundle\Soap\SoapResponse
  */
 public function callAction($webservice)
 {
     $webServiceContext = $this->getWebServiceContext($webservice);
     $this->serviceBinder = $webServiceContext->getServiceBinder();
     $this->soapRequest = SoapRequest::createFromHttpRequest($this->container->get('request'));
     $this->soapServer = $webServiceContext->getServerBuilder()->withSoapVersion11()->withHandler($this)->build();
     ob_start();
     $this->soapServer->handle($this->soapRequest->getSoapMessage());
     $response = $this->getResponse();
     $response->setContent(ob_get_clean());
     // The Symfony 2.0 Response::setContent() does not return the Response instance
     return $response;
 }
 public function call($webservice)
 {
     $webServiceContext = $this->container->get('webservice.context.' . $webservice);
     $this->soapRequest = SoapRequest::createFromHttpRequest($this->container->get('request'));
     $this->serviceBinder = $webServiceContext->getServiceBinder();
     $this->soapServer = $webServiceContext->getServerFactory()->create($this->soapRequest, $this->soapResponse);
     $this->soapServer->setObject($this);
     ob_start();
     $this->soapServer->handle($this->soapRequest->getSoapMessage());
     $soapResponseContent = ob_get_clean();
     $this->soapResponse->setContent($soapResponseContent);
     return $this->soapResponse;
 }
Example #6
0
 /**
  * Run webservice
  *
  * @param Mage_Api_Controller_Action $controller
  * @return Mage_Api_Model_Server_Adapter_Soap
  */
 public function run()
 {
     $apiConfigCharset = Mage::getStoreConfig("api/config/charset");
     if ($this->getController()->getRequest()->getParam('wsdl') !== null) {
         // Generating wsdl content from template
         $io = new Varien_Io_File();
         $io->open(array('path' => Mage::getModuleDir('etc', 'Mage_Api')));
         $wsdlContent = $io->read('wsdl.xml');
         $template = Mage::getModel('core/email_template_filter');
         $wsdlConfig = new Varien_Object();
         $queryParams = $this->getController()->getRequest()->getQuery();
         if (isset($queryParams['wsdl'])) {
             unset($queryParams['wsdl']);
         }
         $wsdlConfig->setUrl(htmlspecialchars(Mage::getUrl('*/*/*', array('_query' => $queryParams))));
         $wsdlConfig->setName('Magento');
         $wsdlConfig->setHandler($this->getHandler());
         $template->setVariables(array('wsdl' => $wsdlConfig));
         $this->getController()->getResponse()->clearHeaders()->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)->setBody(preg_replace('/<\\?xml version="([^\\"]+)"([^\\>]+)>/i', '<?xml version="$1" encoding="' . $apiConfigCharset . '"?>', $template->filter($wsdlContent)));
     } else {
         try {
             $this->_instantiateServer();
             $this->getController()->getResponse()->clearHeaders()->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)->setBody(preg_replace('/<\\?xml version="([^\\"]+)"([^\\>]+)>/i', '<?xml version="$1" encoding="' . $apiConfigCharset . '"?>', $this->_soap->handle()));
         } catch (Zend_Soap_Server_Exception $e) {
             $this->fault($e->getCode(), $e->getMessage());
         } catch (Exception $e) {
             $this->fault($e->getCode(), $e->getMessage());
         }
     }
     return $this;
 }
 /**
  * Traitement par défaut
  */
 public function processDefault()
 {
     // On charge la classe exportée
     Copix::RequireOnce($this->_exportClassFilename);
     // Définition du serveur Soap
     if (isset($this->_wsname)) {
         $server = new SoapServer(_url('wsserver|default|wsdl', array('wsname' => $this->_wsname)));
     } else {
         $server = new SoapServer(_url('wsserver|default|wsdl'));
     }
     // Assignation de la classe exportée au serveur
     $server->setclass($this->_exportClass);
     // Traitement des appels
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $server->handle();
         return _arNone();
     } else {
         $res = '<strong>' . _i18n('wsserver.handle.title') . '</strong>';
         $res .= '<ul>';
         foreach ($server->getFunctions() as $func) {
             $res .= '<li>' . $func . '</li>';
         }
         $res .= '</ul>';
         $res;
     }
     $tpl = new CopixTpl();
     $tpl->assign('MAIN', $res);
     return new CopixActionReturn(CopixActionReturn::DISPLAY, $tpl);
 }
Example #8
0
 /**
  * Handles a SOAP request.
  *
  * This function delegates on PHP's native
  * SoapServer handle(), but processes the input
  * XML through the inbound and outbound pipelines.
  * This allows for arbitrary manipulation of
  * requests and responses, such as encryption or
  * logging.
  *
  * Just as the parent class, this function will
  * fetch the input from the POST data if none is
  * passed as an argument. Likewise, it will return
  * nothing and output the response instead.
  *
  * @see     http://php.net/manual/en/soapserver.handle.php
  * @param   string|null $soapRequest
  */
 public function handle($soapRequest = null)
 {
     if (!$soapRequest) {
         $soapRequest = file_get_contents('php://input');
     }
     /*
      * Run the request XML through the inbound
      * pipeline
      */
     $soapRequest = $this->inboundPipeline->process($soapRequest);
     /*
      * Execute the request
      */
     ob_start();
     parent::handle($soapRequest);
     $soapResponse = ob_get_clean();
     /*
      * Then run the response through the outbound
      * pipeline
      */
     $soapResponse = $this->outboundPipeline->process($soapResponse);
     /*
      * Output the response and we're done
      */
     $this->outputResponse($soapResponse);
 }
Example #9
0
 /**
  * Run webservice
  *
  * @param Mage_Api_Controller_Action $controller
  * @return Mage_Api_Model_Server_Adapter_Soap
  */
 public function run()
 {
     $urlModel = Mage::getModel('core/url')->setUseSession(false);
     if ($this->getController()->getRequest()->getParam('wsdl') !== null) {
         // Generating wsdl content from template
         $io = new Varien_Io_File();
         $io->open(array('path' => Mage::getModuleDir('etc', 'Mage_Api')));
         $wsdlContent = $io->read('wsdl.xml');
         $template = Mage::getModel('core/email_template_filter');
         $wsdlConfig = new Varien_Object();
         $queryParams = $this->getController()->getRequest()->getQuery();
         if (isset($queryParams['wsdl'])) {
             unset($queryParams['wsdl']);
         }
         $wsdlConfig->setUrl(htmlspecialchars($urlModel->getUrl('*/*/*', array('_query' => $queryParams))));
         $wsdlConfig->setName('Magento');
         $wsdlConfig->setHandler($this->getHandler());
         $template->setVariables(array('wsdl' => $wsdlConfig));
         $this->getController()->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($template->filter($wsdlContent));
     } elseif ($this->_extensionLoaded()) {
         $this->_soap = new SoapServer($urlModel->getUrl('*/*/*', array('wsdl' => 1)));
         use_soap_error_handler(false);
         $this->_soap->setClass($this->getHandler());
         $this->getController()->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($this->_soap->handle());
     } else {
         $this->fault('0', 'Unable to load Soap extension on the server');
     }
     return $this;
 }
Example #10
0
 public function __construct($server = false)
 {
     if ($server) {
         $server = new SoapServer(null, array('uri' => 'http://x13-net.ru/tunnel.php', 'soap_version' => SOAP_1_1));
         $server->setClass('AlphaClickFunctions');
         $server->handle();
     }
 }
Example #11
0
 public function processRequest(callable $callback)
 {
     $server = new \SoapServer($this->wsdl, array('classmap' => $this->classmap));
     $server->setObject($this);
     $this->callback = $callback;
     $server->handle();
     $this->callback = null;
 }
Example #12
0
 public function handle()
 {
     if (!array_key_exists("HTTP_RAW_POST_DATA", $GLOBALS)) {
         $data = file_get_contents("php://input");
     } else {
         $data = $GLOBALS["HTTP_RAW_POST_DATA"];
     }
     @parent::handle($data);
 }
Example #13
0
 /**
  * Building query
  *
  * @param array $params Query params
  * @return array/boolean
  */
 public function request()
 {
     $properties = array('classmap' => array('tns:updateBill' => 'qiwiParam', 'tns:updateBillResponse' => 'qiwiResponse'));
     $wsdl = MODX_CORE_PATH . 'components/minishop2/custom/payment/lib/qiwi/IShopClientWS.wsdl';
     $Soap = new SoapServer($wsdl, $properties);
     $Soap->setClass('qiwiServer', $this->config['shopId'], $this->config['shopKey'], $this->config['statusPaid']);
     $Soap->handle();
     return true;
 }
 public function PanamericanaServer()
 {
     $server = new SoapServer("Oris.wsdl");
     $server->setClass("Metodos");
     try {
         $server->handle();
     } catch (Exception $e) {
         $server->fault('Sender', $e->getMessage());
     }
 }
 public function openinvoiceAction()
 {
     $_mode = $this->_getConfigData('demoMode');
     $wsdl = $_mode == 'Y' ? 'https://ca-test.adyen.com/ca/services/OpenInvoiceDetail?wsdl' : 'https://ca-live.adyen.com/ca/services/OpenInvoiceDetail?wsdl';
     $server = new SoapServer($wsdl);
     $server->setClass(self::OPENINVOICE_SOAP_SERVER);
     $server->addFunction(SOAP_FUNCTIONS_ALL);
     $server->handle();
     exit;
 }
Example #16
0
 public function ws()
 {
     Load::library('WebService');
     $server = new SoapServer(null, array('uri' => 'http://localhost/freekore/test/ws'));
     // Asignamos la Clase
     $server->setClass('WebService');
     // Atendemos las peticiones
     $server->handle();
     $server->getFunctions();
 }
Example #17
0
 /**
  * Add your definition route and the name route[optional]
  *
  * @Route /service
  * 
  * 
  * @param \Slim\Http\Request $request
  * @param \Slim\Http\Response $response
  * @param \Slim\Route $route
  */
 public function indexAction($request, $response, $route)
 {
     $dirClass = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Soap' . DIRECTORY_SEPARATOR . 'wsdl' . DIRECTORY_SEPARATOR . 'service.wsdl';
     if (file_exists($dirClass)) {
         $server = new \SoapServer($dirClass, array('soap_version' => SOAP_1_2));
         $server->setClass('Raptor2\\ServiceBundle\\Soap\\Service');
         $this->app->contentType(\Raptor\Raptor::APPXML);
         $server->handle();
     }
 }
 /**
  * @Route("/server", name="server")
  */
 public function serverAction()
 {
     $server = new \SoapServer('web/public/hello.wsdl');
     $server->setObject($this->get('hello_service'));
     $response = new Response();
     $response->headers->set('Content-Type', 'text/xml; charset=ISO-8859-1');
     ob_start();
     $server->handle();
     $response->setContent(ob_get_clean());
     return $response;
 }
Example #19
0
function soap_serve($wsdl, $functions)
{
    // create server object
    $s = new SoapServer($wsdl);
    // export functions
    foreach ($functions as $func) {
        $s->addFunction($func);
    }
    // handle the request
    $s->handle();
}
 function index()
 {
     $wsdl = $this->getViewer('wsdl')->process($this);
     $wsdlFile = TEMP_FOLDER . '/sapphire-wsdl-' . $this->class;
     $fh = fopen($wsdlFile, 'w');
     fwrite($fh, $wsdl);
     fclose($fh);
     $s = new SoapServer($wsdlFile, array('cache_wsdl' => WSDL_CACHE_NONE));
     $s->setClass($this->class);
     $s->handle();
 }
Example #21
0
 /**
  * handle 一个 SoapServer
  *
  * Uses:
  * <code>
  * Watt_Service_Servicer::handleSoapServer( "Your_Class_Servicer", "demo.wsdl" );
  * </code>
  * 
  * @param string $className
  * @param mixed $wsdl
  * @param array $options
  */
 public static function handleSoapServer($className, $wsdl, array $options = array())
 {
     if (!class_exists($className)) {
         Watt::loadClass($className);
     }
     //$server = new SoapServer( null, array('uri' => "http://test-uri/") );
     $server = new SoapServer(Watt_Config::getConfigPath() . "wsdl/" . $wsdl);
     $server->setClass($className);
     $server->handle();
     exit;
 }
Example #22
0
 /**
  * Handle the service request
  */
 protected function handleRequest()
 {
     $server = new \SoapServer(null, ['uri' => $this->getServiceUri()]);
     /** @var object $object */
     $object = GeneralUtility::makeInstance($this->serverClass);
     $server->setObject($object);
     try {
         $server->handle();
     } catch (\Exception $ex) {
         $server->fault($ex->getCode(), $ex->getMessage());
     }
 }
 public function serverAction(Request $request)
 {
     $baseurl = $request->getScheme() . '://' . $request->getHttpHost() . $request->getBasePath();
     $server = new \SoapServer($baseurl . '/APIxml.wsdl');
     $server->setObject($this->get('moocsy.api_xml'));
     $response = new Response();
     $response->headers->set('Content-Type', 'text/xml; charset=ISO-8859-1');
     ob_start();
     $server->handle();
     $response->setContent(ob_get_clean());
     return $response;
 }
 public function index()
 {
     $host = $_SERVER['HTTP_HOST'];
     $module = MODULE_NAME;
     $action = ACTION_NAME;
     $server = "";
     $wsdl = "";
     $soaparray = array('soap_version' => SOAP_1_2);
     $server = new \SoapServer(file_get_contents(__DIR__ . '/ws/order.wsdl'), $soaparray);
     $server->setClass(get_class($this));
     $server->handle();
 }
Example #25
0
 public function order()
 {
     $host = $_SERVER['HTTP_HOST'];
     $module = MODULE_NAME;
     $action = ACTION_NAME;
     $server = "";
     $wsdl = "";
     $soaparray = array("uri" => "http://10.155.30.170:8880/ws/order.php?wsdl", 'soap_version' => SOAP_1_2);
     $soaparray = array("location" => "http://" . $host . "/" . $module . "/" . $action, "uri" => $action . ".html");
     $server = new \SoapServer(null, $soaparray);
     $server->setClass(get_class($this));
     $server->handle();
 }
 /**
  * @Route("/soap/key")
  * @Template()
  */
 public function sendKeyAction()
 {
     //        $server = new \SoapServer($this->container->get('templating.helper.assets')->getUrl('cibsoap/soap/test.wsdl'));
     $server = new \SoapServer('/var/www/LicenseManager/web/bundles/cibsoap/soap/licenseSoap.wsdl');
     //        $server = new \SoapServer('C:\wamp\www\LicenseManager\web\bundles\cibsoap\soap\licenseSoapWindows.wsdl');
     $server->setObject($this->get('sendKey'));
     $response = new Response();
     $response->headers->set('Content-Type', 'text/xml; charset=utf-8');
     ob_start();
     $server->handle();
     $response->setContent(ob_get_clean());
     return $response;
 }
Example #27
0
 /**
  * Runs the currently registered request filters on the request, calls the
  * necessary functions (through the parent's class handle()) and runs the
  * response filters.
  *
  * @param SoapRequest $soapRequest SOAP request object
  *
  * @return SoapResponse
  */
 public function handle2(SoapRequest $soapRequest)
 {
     // run SoapKernel on SoapRequest
     $this->soapKernel->filterRequest($soapRequest);
     // call parent \SoapServer->handle() and buffer output
     ob_start();
     parent::handle($soapRequest->getContent());
     $response = ob_get_clean();
     // wrap response data in SoapResponse object
     $soapResponse = SoapResponse::create($response, $soapRequest->getLocation(), $soapRequest->getAction(), $soapRequest->getVersion());
     // run SoapKernel on SoapResponse
     $this->soapKernel->filterResponse($soapResponse);
     return $soapResponse;
 }
 /**
  * Executa os métodos no ambiente de homologação do webservice SOAP
  */
 public function homologacaoAction()
 {
     $this->noLayout();
     ini_set('soap.wsdl_cache_enabled', '0');
     $sWsdl = $this->view->baseUrl('/webservice/wsdlValidations/homologacao/modelo1.wsdl');
     $server = new SoapServer($sWsdl, array('soap_version' => SOAP_1_1, 'uri' => $this->view->baseUrl('/webservice/index/homologacao/'), 'trace' => TRUE));
     $server->setClass('WebService_Model_Processar');
     $server->addFunction('RecepcionarLoteRps');
     $server->addFunction('ConsultarSituacaoLoteRps');
     $server->addFunction('ConsultarNfsePorRps');
     $server->addFunction('ConsultarLoteRps');
     $server->addFunction('CancelarNfse');
     $server->addFunction('ConsultarNfse');
     $server->handle();
 }
Example #29
0
 public function serverAction()
 {
     ini_set("soap.wsdl_cache", "0");
     ini_set("soap.wsdl_cache_enabled", "0");
     ini_set('soap.wsdl_cache_ttl', 0);
     $filePath = $this->getServiceProvider()->getWsdlPath();
     $soap = new \SoapServer($filePath);
     $soap->setObject($this->getServiceProvider()->getService());
     $response = new Response();
     $response->headers->set('Content-Type', 'text/xml');
     ob_start();
     $soap->handle();
     $response->setContent(ob_get_clean());
     return $response;
 }
 function showIndex()
 {
     ini_set("soap.wsdl_cache_enabled", "0");
     $server = new SoapServer(fvSite::$fvConfig->get('path.wsdl'));
     $server->setClass($this->moduleName . 'Action');
     $server->handle();
 }