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; }/*}}}*/
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; }
/** * 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); }
/** * 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); }
/** * 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; }
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(); } }
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; }
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); }
/** * 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; }
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(); }
/** * 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; }
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(); }
/** * 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; }
/** * 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(); }
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; }
/** * 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(); }
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(); }