示例#1
1
<?php

ini_set("soap.wsdl_cache_enabled", 0);
ini_set("soap.wsdl_cache_dir", "/tmp");
ini_set("soap.wsdl_cache_ttl", 86400);
if (isset($_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->setBindingStyle(array('style' => 'rpc'));
    $autodiscover->setOperationBodyStyle(array('use' => 'literal'));
    $autodiscover->setClass('ProviderWebServiceSyncUnits');
    $data = file_get_contents('php://input');
    $autodiscover->handle($data);
} else {
    $server = new Zend_Soap_Server(__URLSERVERAPP__ . '/webservices/unidades/server.php?wsdl', array('cache_wsdl' => false));
    $server->setClass('ProviderWebServiceSyncUnits');
    $server->setPersistence(SOAP_PERSISTENCE_REQUEST);
    $data = file_get_contents('php://input');
    $server->handle($data);
}
示例#2
0
 public function soapAction()
 {
     $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8', true);
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->layout()->disableLayout();
     $version = $this->getRequest()->getParam('version');
     $wsdl = $this->getRequest()->getParam('wsdl');
     $service = 'Auth_Service_Ldap';
     if ($wsdl) {
         $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
         $autodiscover->setUri(ZendT_Url::getUri());
         $autodiscover->setClass($service);
         $autodiscover->handle();
     } else {
         if (!$version) {
             $version = '1_0';
         }
         $fileWsdl = APPLICATION_PATH . '/modules/auth/services/Ldap/version_' . $version . '.wsdl';
         if (file_exists($fileWsdl)) {
             $wsdl = str_replace("\\", "/", $fileWsdl);
         } else {
             $wsdl = ZendT_Url::getUri() . '?wsdl=1';
         }
         $server = new Zend_Soap_Server();
         $server->setWsdl($wsdl);
         $server->setClass($service);
         $server->handle();
     }
 }
示例#3
0
 public function soapAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->layout()->disableLayout();
     $params = $this->getRequest()->getParams();
     if (!isset($params['version'])) {
         $params['version'] = '1.0';
     }
     $service = 'Ged_Service_FileSystem';
     $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8', true);
     if (isset($params['wsdl'])) {
         $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
         $autodiscover->setUri(ZendT_Url::getUri());
         $autodiscover->setClass($service);
         $autodiscover->handle();
     } else {
         $version = str_replace('.', '_', $params['version']);
         $names = explode('_', $service);
         $fileWsdl = APPLICATION_PATH . '/modules/' . strtolower($names[0]) . '/' . strtolower($names[1]) . 's/' . $names[2] . '/wsdl/' . $names[2] . '_v' . $version . '.wsdl';
         if (file_exists($fileWsdl)) {
             $wsdl = str_replace("\\", "/", $fileWsdl);
         }
         $server = new Zend_Soap_Server();
         $server->setWsdl($wsdl);
         $server->setClass($service);
         $server->handle();
     }
 }
 public function soap()
 {
     $vs_wsdl = $this->request->config->get("site_host") . __CA_URL_ROOT__ . "/service.php/usercontent/UserContent/soapWSDL";
     $vo_soapserver = new Zend_Soap_Server($vs_wsdl, array("soap_version" => SOAP_1_2));
     $vo_soapserver->setClass('UserContentService', $this->request);
     $this->view->setVar("soap_server", $vo_soapserver);
     $this->render("usercontent_soap.php");
 }
示例#5
0
 /**
  * function SOAP Handle. points to Np_Soap_Handler 
  * the class for the used for the soap method called .
  * 
  * @return bool $result The Result of the SOAP Handle Function
  * 
  */
 private function handleSOAP()
 {
     $soap = new Zend_Soap_Server(Application_Model_General::getWsdl(), array('soap_version' => SOAP_1_1));
     $soap->setClass('Np_Soap_Handler');
     $soap->handle();
     $response = $soap->getLastResponse();
     return $response;
     // - change to result from handle
 }
示例#6
0
 public function indexAction()
 {
     $this->_helper->viewRenderer->setNoRender(true);
     $this->_helper->layout()->disableLayout();
     // initialize server and set URI
     $server = new Zend_Soap_Server(null, array('uri' => 'http://painel.local/webservice/index'));
     // set SOAP service class
     $server->setClass('App_Webservice_Imagem');
     // handle request
     $server->handle();
 }
 public function soap()
 {
     if ($this->opb_disable) {
         return "";
     }
     $vs_wsdl = $this->request->config->get("site_host") . __CA_URL_ROOT__ . "/service.php/accesscontrol/AccessControl/soapWSDL";
     $vo_soapserver = new Zend_Soap_Server($vs_wsdl, array("soap_version" => SOAP_1_2));
     $vo_soapserver->setClass('AccessControlService', $this->request);
     $this->view->setVar("soap_server", $vo_soapserver);
     $this->render("accesscontrol/accesscontrol_soap.php");
 }
 public function processServer()
 {
     if (!$_SERVER['REMOTE_ADDR'] == $this->helpers->config('client_ip')) {
         header('HTTP/1.0 403 Forbidden');
         return _arNone();
     }
     $soap = new Zend_Soap_Server($this->url('soapserver|soap|WSDL'));
     $soap->setUri($this->url('soapserver|soap|Server'));
     $soap->setClass('soapserverservice');
     $soap->setWsdlCache(false);
     $soap->handle();
     return _arNone();
 }
示例#9
0
 /**
  * Handle requests regarding users
  *
  * @return void
  */
 public function __call($function, $params)
 {
     $action = strtolower(str_replace('Action', '', $function));
     $class = 'ShortUrl_Api_' . ucfirst($action);
     if (!@(include_once str_replace('_', '/', $class) . '.php')) {
         throw new ShortUrl_Api_ClassNotFoundException($class);
     }
     if (isset($_GET['wsdl'])) {
         $autodiscover = new Zend_Soap_AutoDiscover();
         $autodiscover->setClass($class)->handle();
     } else {
         $soap = new Zend_Soap_Server($this->_getWsdl($action));
         $soap->setClass($class)->handle();
     }
 }
示例#10
0
 /**
  * Método executado após qualquer action.
  * Responsável por instanciar a classe de soap correta e configurala
  * disponibilizando assim o serviço para ser consumido.
  */
 public function postDispatch()
 {
     $request = $this->getRequest();
     $params = $request->getParams();
     $router = Zend_Controller_Front::getInstance()->getRouter();
     if ($this->_hasParam('wsdl')) {
         $server = new Zend_Soap_AutoDiscover();
     } else {
         $server = new Zend_Soap_Server();
         $url = "{$request->getScheme()}://{$request->getHttpHost()}{$router->assemble($params)}";
         $server->setUri($url);
         $server->setEncoding('ISO-8859-1');
     }
     $server->setClass($this->serviceClass);
     $server->handle();
 }
示例#11
0
 public function connectorAction()
 {
     $this->getHelper('viewRenderer')->setNoRender();
     $this->_helper->layout->disableLayout();
     $conf = Zend_Registry::get('config');
     if (isset($_GET['wsdl'])) {
         $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence');
         $autodiscover->setClass('Logic_RemoteSiteConn');
         $this->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($autodiscover->handle());
     } else {
         // pointing to the current file here
         $soap = new Zend_Soap_Server($conf['crossover']['webservice']['wsdl']);
         $soap->setClass('Logic_RemoteSiteConn');
         $soap->setSoapVersion(SOAP_1_2);
         $soap->handle();
     }
 }
示例#12
0
 public function soapServerAction()
 {
     // disable layout and view
     $this->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     // handle wsdl request
     if (isset($_GET['wsdl'])) {
         $autodiscover = new Zend_Soap_AutoDiscover();
         $autodiscover->setClass('MyProject_Service_Soap_Example');
         $autodiscover->handle();
         // handle server request
     } else {
         $serverUrl = str_replace('server', 'wsdl', MAIN_URL . $this->getRequest()->getRequestUri());
         $soap = new Zend_Soap_Server($serverUrl);
         $soap->setClass('MyProject_Service_Soap_Example');
         $soap->handle();
     }
 }
 public function endpointAction()
 {
     // disable wsdl cache
     if (PIMCORE_DEVMODE) {
         ini_set("soap.wsdl_cache_enabled", "0");
     }
     // create classmappings
     $classMap = Webservice_Tool::createClassMappings();
     //        p_r($classMap); die();
     // create wsdl
     // @TODO create a cache here
     $strategy = new Zend_Soap_Wsdl_Strategy_Composite(array("object[]" => "Zend_Soap_Wsdl_Strategy_AnyType"), "Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex");
     $autodiscover = new Zend_Soap_AutoDiscover($strategy);
     $autodiscover->setClass('Webservice_Service');
     $wsdl = $autodiscover->toXml();
     //TODO: do we really want to normalize class names since we had to introduce request and response objects anyway?
     $wsdl = str_replace("Webservice_Data_", "", $wsdl);
     // normalize classnames
     $wsdlFile = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/wsdl.xml";
     file_put_contents($wsdlFile, $wsdl);
     chmod($wsdlFile, 0766);
     // let's go
     if (isset($_GET["wsdl"])) {
         header("Content-Type: text/xml; charset=utf8");
         echo $wsdl;
     } else {
         Pimcore::setAdminMode();
         Document::setHideUnpublished(false);
         Object_Abstract::setHideUnpublished(false);
         Object_Abstract::setGetInheritedValues(false);
         try {
             $server = new Zend_Soap_Server($wsdlFile, array("cache_wsdl" => false, "soap_version" => SOAP_1_2, "classmap" => $classMap));
             $server->registerFaultException("Exception");
             $server->setClass("Webservice_Service");
             $server->handle();
         } catch (Exception $e) {
             Logger::log("Soap request failed");
             Logger::log($e);
             throw $e;
         }
     }
     exit;
 }
示例#14
0
 /**
  * Accept the request of the clients
  * 
  * @param string $classname
  */
 public function soap($classname)
 {
     if (empty($classname)) {
         return false;
     }
     list($app, $module, $class) = explode("_", $classname);
     // initialize server and set URI
     $optionsoap = array('location' => "http://" . $_SERVER['HTTP_HOST'] . "/" . strtolower($class) . ".wsld", 'uri' => 'urn:' . $classname);
     $server = new Zend_Soap_Server(null, $optionsoap);
     // set SOAP service class
     $server->setClass($classname);
     // Bind already initialized object to Soap Server
     $server->setObject(new $classname());
     $server->setReturnResponse(false);
     // register exceptions for generating SOAP faults
     $server->registerFaultException(array('Shineisp_Api_Exceptions'));
     // handle request
     $server->handle();
 }
示例#15
0
 public function soapAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->layout()->disableLayout();
     $params = $this->getRequest()->getParams();
     $service = 'ZendT_Mail_Service';
     $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8', true);
     if (isset($params['wsdl'])) {
         $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
         $autodiscover->setUri(ZendT_Url::getUri());
         $autodiscover->setClass($service);
         $autodiscover->handle();
     } else {
         $server = new Zend_Soap_Server();
         #$wsdl = ZendT_Url::getUri() . "?wsdl";
         $wsdl = APPLICATION_PATH . '/controllers/Mail_v1.wsdl';
         $server->setWsdl($wsdl);
         $server->setClass($service);
         $server->handle();
     }
 }
        $Message = com_create_guid();
        return $Message;
    }
    /**
     *
     * @param string $UserID
     * @param string $StreamID
     * @return boolean
     */
    public function VerifyStream($UserID, $StreamID)
    {
        //check if UserID and StreamID are vaild
        return true;
    }
}
//Subscriber
if (isset($_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->setClass("MyService");
    $autodiscover->handle();
    //Publisher
} else {
    $server = new Zend_Soap_Server($serviceURL . "?wsdl");
    $server->setClass('MyService');
    $server->setObject(new MyService());
    $server->handle();
}
?>


set_include_path(get_include_path() . PATH_SEPARATOR . 'ZendFramework-1.10.8/library/');
/* incluir as classes necessoarias */
include_once "ZendFramework-1.10.8/library/Zend/Soap/Server.php";
include_once "ZendFramework-1.10.8/library/Zend/Soap/AutoDiscover.php";
if (isset($_GET['wsdl'])) {
    /*          
     * Usar o Soap AutoDiscover para criacao do WSDL de forma dinamica          
     */
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->setClass('Calculadora');
    $autodiscover->handle();
} else {
    // Disponibilizar o webservice atraves do canal:
    $soap = new Zend_Soap_Server("http://127.0.0.1/calculadora_service/CalculadoraService.php?wsdl");
    $soap->setClass('Calculadora');
    $soap->handle();
}
/*
 * Classe calculadora
 */
class Calculadora
{
    /**
     * Realiza Soma
     * @param integer $a
     * @param integer $b
     * @return integer
     */
    public function soma($a, $b)
    {
示例#18
0
 public function testSetInputHeaders()
 {
     if (headers_sent()) {
         $this->markTestSkipped('Cannot run testSetInputHeaders() when headers have already been sent; enable output buffering to run this test');
         return;
     }
     $server = new Zend_Soap_Server(dirname(__FILE__) . '/_files/wsdl_example.wsdl');
     $server->setClass('Zend_Soap_Client_TestClass');
     $client = new Zend_Soap_Client_Local($server, dirname(__FILE__) . '/_files/wsdl_example.wsdl');
     // Add request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader1', 'SOAP header content 1'));
     // Add permanent request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader2', 'SOAP header content 2'), true);
     // Perform request
     $client->testFunc2('World');
     $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader2>SOAP header content 2</ns1:MyHeader2>' . '<ns1:MyHeader1>SOAP header content 1</ns1:MyHeader1>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n";
     $this->assertEquals($client->getLastRequest(), $expectedRequest);
     // Add request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader3', 'SOAP header content 3'));
     // Perform request
     $client->testFunc2('World');
     $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader2>SOAP header content 2</ns1:MyHeader2>' . '<ns1:MyHeader3>SOAP header content 3</ns1:MyHeader3>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n";
     $this->assertEquals($client->getLastRequest(), $expectedRequest);
     $client->resetSoapInputHeaders();
     // Add request header
     $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader4', 'SOAP header content 4'));
     // Perform request
     $client->testFunc2('World');
     $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader4>SOAP header content 4</ns1:MyHeader4>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n";
     $this->assertEquals($client->getLastRequest(), $expectedRequest);
 }
示例#19
0
/**
 * Endpoint voor de faxservice soap services
 */
ini_set('xdebug.remote_enable', 'off');
set_include_path(realpath(dirname(__FILE__) . '/../') . '/library/');
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
// todo live gegevens
$db = Zend_Db::factory('mysqli', array('host' => 'dev2.admin.netexpo.nl', 'username' => 'faxservicesoap', 'password' => 'fkXcn2di', 'dbname' => 'netexpo', 'charset' => 'utf8'));
Zend_Registry::set('db', $db);
// testen zonder soap
if (isset($_GET['nosoap']) == true) {
    $s = new ServicedeskFax();
    //var_dump($s->getAvailableFaxnumbers(31,10));
}
// testen met een client
if (isset($_GET['client']) == true) {
    $s = new SoapClient('http://' . $_SERVER['HTTP_HOST'] . '/' . $_SERVER['PHP_SELF'] . '?wsdl');
    //var_dump($s->getCountries());
}
if (isset($_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->setClass('ServicedeskFax');
    $autodiscover->handle();
} else {
    $soap = new Zend_Soap_Server('http://' . $_SERVER['HTTP_HOST'] . '/' . $_SERVER['PHP_SELF'] . '?wsdl');
    $soap->setClass('ServicedeskFax');
    $soap->handle();
}
示例#20
0
文件: server.php 项目: pelif/studyWS
require_once "loadZend.php";
class MyClass
{
    /**
     * @param integer $num1
     * @param integer $num2
     * @return integer
     */
    public function Sum($num1, $num2)
    {
        return $num1 + $num2;
    }
    /**
     * @param integer $num1
     * @param integer $num2
     * @return integer
     */
    public function Sub($num1, $num2)
    {
        return $num2 - $num1;
    }
}
if (isset($_GET['wsdl'])) {
    $server = new Zend_Soap_AutoDiscover();
    $server->setClass("MyClass");
    $server->handle();
} else {
    $server = new Zend_Soap_Server("http://127.0.0.1/xmlgenerator/ws-zend02/server.php?wsdl");
    $server->setClass("MyClass");
    $server->handle();
}
示例#21
0
require_once '../library/Shift8.php';
/**
 * While trying to develop the Soap extension for Shift8, I needed a way to debug
 * the events occuring to the remote asterisk, thus the Debug Listener and the 
 * Syslog debug listener
 */
require_once '../library/Debug/Listener/Syslog.php';
if (isset($_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
    $autodiscover->setOperationBodyStyle(array('use' => 'literal', 'namespace' => 'http://' . $_SERVER['HTTP_HOST']));
    /*	
     * Does not work with PHP Soap Client. Might be required for .NET clients
     *
    $autodiscover->setBindingStyle(
    	array(
    		'style'		=> 'document',
    		'transport' 	=> 'http://schemas.xmlsoap.org/soap/http'
    	)
    );
    */
    $autodiscover->setClass('Shift8');
    $autodiscover->handle();
} else {
    session_start();
    $wsdl = sprintf('http://%s%s?wsdl', $_SERVER['HTTP_HOST'], $_SERVER['SCRIPT_NAME']);
    $soap = new Zend_Soap_Server($wsdl);
    $soap->setClass('Shift8', $config['asterisk'], $config['manager'], $config['secret'], false, new Shift8_Debug_Listener_Syslog());
    $soap->setPersistence(SOAP_PERSISTENCE_SESSION);
    $soap->registerFaultException('Shift8_Exception');
    $response = $soap->handle();
}
示例#22
0
文件: remote1.php 项目: pelif/studyWS
<?php

require 'startzend.php';
require 'Hp12c.php';
if (isset($_GET['wsdl'])) {
    $server = new Zend_Soap_AutoDiscover();
} else {
    $server = new Zend_Soap_Server('http://localhost/xmlgenerator/remote9.php?wsdl');
}
$server->setClass('Hp12c');
var_dump($server);
echo $server->handle();
示例#23
0
    public function testHandle()
    {
        $server = new Zend_Soap_Server();
        $server->setOptions(array('location'=>'test://', 'uri'=>'http://framework.zend.com'));

        $server->setClass('Zend_Soap_Server_TestClass');

        $localClient = new Zend_Soap_Server_TestLocalSoapClient($server,
                                                                null,
                                                                array('location'=>'test://',
                                                                      'uri'=>'http://framework.zend.com'));

        // Local SOAP client call automatically invokes handle method of the provided SOAP server
        $this->assertEquals('Hello World!', $localClient->testFunc2('World'));


        $request =
            '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL
          . '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" '
                             . 'xmlns:ns1="http://framework.zend.com" '
                             . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" '
                             . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
                             . 'xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" '
                             . 'SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'
          .     '<SOAP-ENV:Body>'
          .         '<ns1:testFunc2>'
          .             '<param0 xsi:type="xsd:string">World</param0>'
          .         '</ns1:testFunc2>'
          .     '</SOAP-ENV:Body>'
          . '</SOAP-ENV:Envelope>' . PHP_EOL;

        $expectedResponse =
            '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL
          . '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" '
                             . 'xmlns:ns1="http://framework.zend.com" '
                             . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" '
                             . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
                             . 'xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" '
                             . 'SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'
          .     '<SOAP-ENV:Body>'
          .         '<ns1:testFunc2Response>'
          .             '<return xsi:type="xsd:string">Hello World!</return>'
          .         '</ns1:testFunc2Response>'
          .     '</SOAP-ENV:Body>'
          . '</SOAP-ENV:Envelope>' . PHP_EOL;

        $server1 = new Zend_Soap_Server();
        $server1->setOptions(array('location'=>'test://', 'uri'=>'http://framework.zend.com'));

        $server1->setClass('Zend_Soap_Server_TestClass');
        $server1->setReturnResponse(true);

        $this->assertEquals($expectedResponse, $server1->handle($request));
    }
示例#24
0
 private function handleSOAP()
 {
     $soap = new Zend_Soap_Server($this->_WSDL_URI);
     $soap->setClass('Base_Soap_Soaptest');
     $soap->handle();
 }
示例#25
0
<?php

// Define path to application directory
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV') || define('APPLICATION_ENV', getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development');
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path())));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
$application->getBootstrap()->bootstrap('db');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization, Accept');
if (isset($_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->setClass('Application_Model_WebServices');
    $autodiscover->setBindingStyle(array('style' => 'rpc'));
    $autodiscover->handle();
} else {
    ini_set("soap.wsdl_cache_enabled", "0");
    $server = new Zend_Soap_Server();
    $server->setOptions(array('soap_version' => SOAP_1_2, 'actor' => 'http://localhost/AgendaTelefonicaPHPSOAP/public/webservice.php', 'encoding' => 'UTF-8'));
    $server->setWsdl('http://localhost/AgendaTelefonicaPHPSOAP/public/webservice.php?wsdl');
    $server->setClass('Application_Model_WebServices');
    $server->handle();
}
示例#26
0
	/**
	 * SOAP server
	 */
	public function soapAction() 
	{
		
		if( isset($_GET['wsdl']) ){
			$wsdl = new Zend_Soap_AutoDiscover();
			$wsdl->setClass('User_Service_User');
			$wsdl->handle();
		} else {
			$options = array( 'soap_version' => SOAP_1_1, 
			'uri' => 'http://front.zend.local/Wsserver/index/soap');
			
			$server = new Zend_Soap_Server( null, $options);
			$server->setClass('User_Service_User');
			$server->handle();
		}
	}
示例#27
0
    public function testCallInvoke()
    {
        $server = new Zend_Soap_Server(dirname(__FILE__) . '/_files/wsdl_example.wsdl');
        $server->setClass('Zend_Soap_Client_TestClass');

        $client = new Zend_Soap_Client(dirname(__FILE__) . '/_files/wsdl_example.wsdl');
        $client->setLocalServer($server);

        ;
        $this->assertEquals($client->testFunc2('World'), 'Hello World!');
    }
示例#28
0
 public function testErrorHandlingOfSoapServerChangesToThrowingSoapFaultWhenInHandleMode()
 {
     if (headers_sent()) {
         $this->markTestSkipped('Cannot run ' . __METHOD__ . '() when headers have already been sent; enable output buffering to run this test');
         return;
     }
     $server = new Zend_Soap_Server();
     $server->setOptions(array('location' => 'test://', 'uri' => 'http://framework.zend.com'));
     $server->setReturnResponse(true);
     // Requesting Method with enforced parameter without it.
     $request = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ' . 'xmlns:ns1="http://framework.zend.com" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" ' . 'SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' . '<SOAP-ENV:Body>' . '<ns1:testFunc5 />' . '</SOAP-ENV:Body>' . '</SOAP-ENV:Envelope>' . "\n";
     $server->setClass('Zend_Soap_Server_TestClass');
     $response = $server->handle($request);
     $this->assertContains('<SOAP-ENV:Fault><faultcode>Receiver</faultcode><faultstring>Test Message</faultstring></SOAP-ENV:Fault>', $response);
 }
示例#29
0
文件: server1.php 项目: jsnshrmn/Suma
    /**
     * @var string
     */
    public $bar;
    /**
     * @var string
     */
    public $foo;
}
/**
 * @category   Zend
 * @package    Zend_Soap
 * @subpackage UnitTests
 * @copyright  Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Soap_Wsdl_ComplexTypeA
{
    /**
     * @var Zend_Soap_Wsdl_ComplexTypeB[]
     */
    public $baz = array();
}
if (isset($_GET['wsdl'])) {
    $server = new Zend_Soap_AutoDiscover(new Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex());
} else {
    $uri = "http://" . $_SERVER['HTTP_HOST'] . "/" . $_SERVER['PHP_SELF'] . "?wsdl";
    $server = new Zend_Soap_Server($uri);
}
$server->setClass('Zend_Soap_Service_Server1');
$server->handle();
 public function channelAction()
 {
     $this->enforceSecurity();
     $params = Zend_Registry::get('params');
     if (isset($_GET['wsdl'])) {
         $autoDiscover = new Zend_Soap_AutoDiscover();
         $autoDiscover->setUri($params->homelet->domain . '/soap/channel');
         $autoDiscover->setClass('Service_Core_ChannelAccessor');
         $autoDiscover->handle();
     } else {
         // Disable all layouts
         $this->getHelper('viewRenderer')->setNoRender(true);
         // initialize server and set URI
         $server = new Zend_Soap_Server(null, array('uri' => $params->homelet->domain . '/soap/channel'));
         // set SOAP service class
         $server->setClass('Service_Core_ChannelAccessor');
         // handle request
         $server->handle();
     }
 }