adding zend project folders into old campcaster.
This commit is contained in:
parent
56abfaf28e
commit
7ef0c18b26
4045 changed files with 1054952 additions and 0 deletions
430
library/Zend/Service/DeveloperGarden/Client/ClientAbstract.php
Normal file
430
library/Zend/Service/DeveloperGarden/Client/ClientAbstract.php
Normal file
|
@ -0,0 +1,430 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Service
|
||||
* @subpackage DeveloperGarden
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: ClientAbstract.php 20419 2010-01-19 13:20:12Z bate $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
require_once 'Zend/Service/DeveloperGarden/Client/Soap.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Service_DeveloperGarden_Credential
|
||||
*/
|
||||
require_once 'Zend/Service/DeveloperGarden/Credential.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Service_DeveloperGarden_SecurityTokenServer
|
||||
*/
|
||||
require_once 'Zend/Service/DeveloperGarden/SecurityTokenServer.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Service
|
||||
* @subpackage DeveloperGarden
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @author Marco Kaiser
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
abstract class Zend_Service_DeveloperGarden_Client_ClientAbstract
|
||||
{
|
||||
/**
|
||||
* constants for using with the odg api
|
||||
*/
|
||||
const ENV_PRODUCTION = 1; // Production Environment
|
||||
const ENV_SANDBOX = 2; // Sandbox Environment, limited access to the api
|
||||
const ENV_MOCK = 3; // Api calls are without any functionality
|
||||
|
||||
const PARTICIPANT_MUTE_OFF = 0; // removes mute from participant in a conference
|
||||
const PARTICIPANT_MUTE_ON = 1; // mute participant in a conference
|
||||
const PARTICIPANT_RECALL = 2; // recalls the participant in a conference
|
||||
|
||||
/**
|
||||
* array of all possible env types
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
static protected $_consts = null;
|
||||
|
||||
/**
|
||||
* Available options
|
||||
*
|
||||
* @var array available options
|
||||
*/
|
||||
protected $_options = array();
|
||||
|
||||
/**
|
||||
* The service id to generate the auth service token
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_serviceAuthId = 'https://odg.t-online.de';
|
||||
|
||||
/**
|
||||
* Variable that holds the Zend_Service_DeveloperGarden env value
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $_serviceEnvironment = Zend_Service_DeveloperGarden_Client_ClientAbstract::ENV_PRODUCTION;
|
||||
|
||||
/**
|
||||
* wsdl file
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_wsdlFile = null;
|
||||
|
||||
/**
|
||||
* the local wsdlFile
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_wsdlFileLocal = null;
|
||||
|
||||
/**
|
||||
* should we use the local wsdl file?
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $_useLocalWsdl = true;
|
||||
|
||||
/**
|
||||
* class with credentials
|
||||
*
|
||||
* @var Zend_Service_DeveloperGarden_Credential
|
||||
*/
|
||||
protected $_credential = null;
|
||||
|
||||
/**
|
||||
* The internal Soap Client
|
||||
*
|
||||
* @var Zend_Soap_Client
|
||||
*/
|
||||
protected $_soapClient = null;
|
||||
|
||||
/**
|
||||
* array with options for classmapping
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $_classMap = array();
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*
|
||||
* @param array $options Associative array of options
|
||||
*/
|
||||
public function __construct(array $options = array())
|
||||
{
|
||||
$this->_credential = new Zend_Service_DeveloperGarden_Credential();
|
||||
|
||||
while (list($name, $value) = each($options)) {
|
||||
switch (ucfirst($name)) {
|
||||
case 'Username' :
|
||||
$this->_credential->setUsername($value);
|
||||
break;
|
||||
case 'Password' :
|
||||
$this->_credential->setPassword($value);
|
||||
break;
|
||||
case 'Realm' :
|
||||
$this->_credential->setRealm($value);
|
||||
break;
|
||||
case 'Environment' :
|
||||
$this->setEnvironment($value);
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->_wsdlFile)) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Exception('_wsdlFile not set for this service.');
|
||||
}
|
||||
|
||||
if (!empty($this->_wsdlFileLocal)) {
|
||||
$this->_wsdlFileLocal = realpath(dirname(__FILE__) . '/../' . $this->_wsdlFileLocal);
|
||||
}
|
||||
|
||||
if (empty($this->_wsdlFileLocal) || $this->_wsdlFileLocal === false) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Exception('_wsdlFileLocal not set for this service.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set an option
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
* @throws Zend_Service_DeveloperGarden_Client_Exception
|
||||
* @return Zend_Service_DeveloperGarden_Client_ClientAbstract
|
||||
*/
|
||||
public function setOption($name, $value)
|
||||
{
|
||||
if (!is_string($name)) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Client_Exception('Incorrect option name: ' . $name);
|
||||
}
|
||||
$name = strtolower($name);
|
||||
if (array_key_exists($name, $this->_options)) {
|
||||
$this->_options[$name] = $value;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* get an option value from the internal options object
|
||||
*
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
public function getOption($name)
|
||||
{
|
||||
$name = strtolower($name);
|
||||
if (array_key_exists($name, $this->_options)) {
|
||||
return $this->_options[$name];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the internal soap client
|
||||
* if not allready exists we create an instance of
|
||||
* Zend_Soap_Client
|
||||
*
|
||||
* @final
|
||||
* @return Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
final public function getSoapClient()
|
||||
{
|
||||
if ($this->_soapClient === null) {
|
||||
/**
|
||||
* init the soapClient
|
||||
*/
|
||||
$this->_soapClient = new Zend_Service_DeveloperGarden_Client_Soap(
|
||||
$this->getWsdl(),
|
||||
$this->getClientOptions()
|
||||
);
|
||||
$this->_soapClient->setCredential($this->_credential);
|
||||
$tokenService = new Zend_Service_DeveloperGarden_SecurityTokenServer(
|
||||
array(
|
||||
'username' => $this->_credential->getUsername(),
|
||||
'password' => $this->_credential->getPassword(),
|
||||
'environment' => $this->getEnvironment(),
|
||||
'realm' => $this->_credential->getRealm(),
|
||||
)
|
||||
);
|
||||
$this->_soapClient->setTokenService($tokenService);
|
||||
}
|
||||
|
||||
return $this->_soapClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* sets new environment
|
||||
*
|
||||
* @param int $environment
|
||||
* @return Zend_Service_DeveloperGarden_Client_ClientAbstract
|
||||
*/
|
||||
public function setEnvironment($environment)
|
||||
{
|
||||
self::checkEnvironment($environment);
|
||||
$this->_serviceEnvironment = $environment;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the current configured environemnt
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getEnvironment()
|
||||
{
|
||||
return $this->_serviceEnvironment;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the wsdl file path, a uri or the local path
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getWsdl()
|
||||
{
|
||||
if ($this->_useLocalWsdl) {
|
||||
$retVal = $this->_wsdlFileLocal;
|
||||
} else {
|
||||
$retVal = $this->_wsdlFile;
|
||||
}
|
||||
|
||||
return $retVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* switch to the local wsdl file usage
|
||||
*
|
||||
* @param boolen $use
|
||||
* @return Zend_Service_DeveloperGarden_Client_ClientAbstract
|
||||
*/
|
||||
public function setUseLocalWsdl($use = true)
|
||||
{
|
||||
$this->_useLocalWsdl = (boolean) $use;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* sets a new wsdl file
|
||||
*
|
||||
* @param string $wsdlFile
|
||||
* @return Zend_Service_DeveloperGarden_Client_ClientAbstract
|
||||
*/
|
||||
public function setWsdl($wsdlFile = null)
|
||||
{
|
||||
if (empty($wsdlFile)) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Exception('_wsdlFile not set for this service.');
|
||||
}
|
||||
$this->_wsdlFile = $wsdlFile;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* sets a new local wsdl file
|
||||
*
|
||||
* @param string $wsdlFile
|
||||
* @return Zend_Service_DeveloperGarden_Client_ClientAbstract
|
||||
*/
|
||||
public function setLocalWsdl($wsdlFile = null)
|
||||
{
|
||||
if (empty($wsdlFile)) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Exception('_wsdlFileLocal not set for this service.');
|
||||
}
|
||||
$this->_wsdlFileLocal = $wsdlFile;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an array with configured options for this client
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getClientOptions()
|
||||
{
|
||||
$options = array(
|
||||
'soap_version' => SOAP_1_1,
|
||||
);
|
||||
if (!empty($this->_classMap)) {
|
||||
$options['classmap'] = $this->_classMap;
|
||||
}
|
||||
$wsdlCache = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache();
|
||||
if (!is_null($wsdlCache)) {
|
||||
$options['cache_wsdl'] = $wsdlCache;
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the internal credential object
|
||||
*
|
||||
* @return Zend_Service_DeveloperGarden_Credential
|
||||
*/
|
||||
public function getCredential()
|
||||
{
|
||||
return $this->_credential;
|
||||
}
|
||||
|
||||
/**
|
||||
* helper method to create const arrays
|
||||
* @return null
|
||||
*/
|
||||
static protected function _buildConstArray()
|
||||
{
|
||||
$r = new ReflectionClass(__CLASS__);
|
||||
foreach ($r->getConstants() as $k => $v) {
|
||||
$s = explode('_', $k, 2);
|
||||
if (!isset(self::$_consts[$s[0]])) {
|
||||
self::$_consts[$s[0]] = array();
|
||||
}
|
||||
self::$_consts[$s[0]][$v] = $k;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an array of all available environments
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
static public function getParticipantActions()
|
||||
{
|
||||
if (empty(self::$_consts)) {
|
||||
self::_buildConstArray();
|
||||
}
|
||||
return self::$_consts['PARTICIPANT'];
|
||||
}
|
||||
|
||||
/**
|
||||
* checks if the given action is valid
|
||||
* otherwise it @throws Zend_Service_DeveloperGarden_Exception
|
||||
*
|
||||
* @param int $action
|
||||
* @throws Zend_Service_DeveloperGarden_Client_Exception
|
||||
* @return void
|
||||
*/
|
||||
static public function checkParticipantAction($action)
|
||||
{
|
||||
if (!array_key_exists($action, self::getParticipantActions())) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Client_Exception(
|
||||
'Wrong Participant Action ' . $action . ' supplied.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an array of all available environments
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
static public function getEnvironments()
|
||||
{
|
||||
if (empty(self::$_consts)) {
|
||||
self::_buildConstArray();
|
||||
}
|
||||
return self::$_consts['ENV'];
|
||||
}
|
||||
|
||||
/**
|
||||
* checks if the given environemnt is valid
|
||||
* otherwise it @throws Zend_Service_DeveloperGarden_Client_Exception
|
||||
*
|
||||
* @param int $environment
|
||||
* @throws Zend_Service_DeveloperGarden_Client_Exception
|
||||
* @return void
|
||||
*/
|
||||
static public function checkEnvironment($environment)
|
||||
{
|
||||
if (!array_key_exists($environment, self::getEnvironments())) {
|
||||
require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
|
||||
throw new Zend_Service_DeveloperGarden_Client_Exception(
|
||||
'Wrong environment ' . $environment . ' supplied.'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
38
library/Zend/Service/DeveloperGarden/Client/Exception.php
Normal file
38
library/Zend/Service/DeveloperGarden/Client/Exception.php
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Service
|
||||
* @subpackage DeveloperGarden
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20166 2010-01-09 19:00:17Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* Zend_Service_Exception
|
||||
*/
|
||||
require_once 'Zend/Service/DeveloperGarden/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Service
|
||||
* @subpackage DeveloperGarden
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @author Marco Kaiser
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Service_DeveloperGarden_Client_Exception extends Zend_Service_DeveloperGarden_Exception
|
||||
{
|
||||
}
|
340
library/Zend/Service/DeveloperGarden/Client/Soap.php
Normal file
340
library/Zend/Service/DeveloperGarden/Client/Soap.php
Normal file
|
@ -0,0 +1,340 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Service
|
||||
* @subpackage DeveloperGarden
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Soap.php 20166 2010-01-09 19:00:17Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Soap_Client
|
||||
*/
|
||||
require_once 'Zend/Soap/Client.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Service
|
||||
* @subpackage DeveloperGarden
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @author Marco Kaiser
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Service_DeveloperGarden_Client_Soap extends Zend_Soap_Client
|
||||
{
|
||||
/**
|
||||
* class with credential interface
|
||||
*
|
||||
* @var Zend_Service_DeveloperGarden_Credential
|
||||
*/
|
||||
private $_credential = null;
|
||||
|
||||
/**
|
||||
* WSSE Security Ext Namespace
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const WSSE_NAMESPACE_SECEXT = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd';
|
||||
|
||||
/**
|
||||
* WSSE Saml Namespace
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const WSSE_NAMESPACE_SAML = 'urn:oasis:names:tc:SAML:2.0:assertion';
|
||||
|
||||
/**
|
||||
* Security Element
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const WSSE_SECURITY_ELEMENT = 'Security';
|
||||
|
||||
/**
|
||||
* UsernameToken Element
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const WSSE_ELEMENT_USERNAMETOKEN = 'UsernameToken';
|
||||
|
||||
/**
|
||||
* Usernae Element
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const WSSE_ELEMENT_USERNAME = 'Username';
|
||||
|
||||
/**
|
||||
* Password Element
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const WSSE_ELEMENT_PASSWORD = 'Password';
|
||||
|
||||
/**
|
||||
* Password Element WSSE Type
|
||||
*
|
||||
*/
|
||||
const WSSE_ELEMENT_PASSWORD_TYPE = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText';
|
||||
|
||||
/**
|
||||
* is this client used by the token service
|
||||
*
|
||||
* @var Zend_Service_DeveloperGarden_SecurityTokenServer
|
||||
*/
|
||||
protected $_tokenService = null;
|
||||
|
||||
/**
|
||||
* Perform a SOAP call but first check for adding STS Token or fetch one
|
||||
*
|
||||
* @param string $name
|
||||
* @param array $arguments
|
||||
* @return mixed
|
||||
*/
|
||||
public function __call($name, $arguments)
|
||||
{
|
||||
/**
|
||||
* add WSSE Security header
|
||||
*/
|
||||
if (!is_null($this->_tokenService)) {
|
||||
// if login method we addWsseLoginHeader
|
||||
if (in_array('login', $arguments)) {
|
||||
$this->addWsseLoginHeader();
|
||||
} elseif ($name == 'getTokens') {
|
||||
$this->addWsseTokenHeader($this->_tokenService->getLoginToken());
|
||||
} else {
|
||||
$this->addWsseSecurityTokenHeader($this->_tokenService->getTokens());
|
||||
}
|
||||
}
|
||||
return parent::__call($name, $arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
* sets the internal handling for handle token service
|
||||
*
|
||||
* @param Zend_Service_DeveloperGarden_SecurityTokenServer $isTokenService
|
||||
* @return Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
public function setTokenService(Zend_Service_DeveloperGarden_SecurityTokenServer $tokenService)
|
||||
{
|
||||
$this->_tokenService = $tokenService;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the currently configured tokenService object
|
||||
*
|
||||
* @return Zend_Service_DeveloperGarden_SecurityTokenServer
|
||||
*/
|
||||
public function getTokenService()
|
||||
{
|
||||
return $this->_tokenService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets new credential callback object
|
||||
*
|
||||
* @param Zend_Service_DeveloperGarden_Credential $credential
|
||||
* @return Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
public function setCredential(Zend_Service_DeveloperGarden_Credential $credential)
|
||||
{
|
||||
$this->_credential = $credential;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the internal credential callback object
|
||||
*
|
||||
* @return Zend_Service_DeveloperGarden_Credential
|
||||
*/
|
||||
public function getCredential()
|
||||
{
|
||||
return $this->_credential;
|
||||
}
|
||||
|
||||
/**
|
||||
* creates the login header and add
|
||||
*
|
||||
* @return SoapHeader
|
||||
*/
|
||||
public function getWsseLoginHeader()
|
||||
{
|
||||
$dom = new DOMDocument();
|
||||
|
||||
/**
|
||||
* Security Element
|
||||
*/
|
||||
$securityElement = $dom->createElementNS(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
'wsse:' . self::WSSE_SECURITY_ELEMENT
|
||||
);
|
||||
$securityElement->setAttribute('mustUnderstand', true);
|
||||
|
||||
/**
|
||||
* Username Token Element
|
||||
*/
|
||||
$usernameTokenElement = $dom->createElementNS(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_ELEMENT_USERNAMETOKEN
|
||||
);
|
||||
|
||||
/**
|
||||
* Username Element
|
||||
*/
|
||||
$usernameElement = $dom->createElementNS(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_ELEMENT_USERNAME,
|
||||
$this->_credential->getUsername(true)
|
||||
);
|
||||
|
||||
/**
|
||||
* Password Element
|
||||
*/
|
||||
$passwordElement = $dom->createElementNS(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_ELEMENT_PASSWORD,
|
||||
$this->_credential->getPassword()
|
||||
);
|
||||
$passwordElement->setAttribute('Type', self::WSSE_ELEMENT_PASSWORD_TYPE);
|
||||
|
||||
$usernameTokenElement->appendChild($usernameElement);
|
||||
$usernameTokenElement->appendChild($passwordElement);
|
||||
|
||||
$securityElement->appendChild($usernameTokenElement);
|
||||
$dom->appendChild($securityElement);
|
||||
|
||||
$authSoapVar = new SoapVar(
|
||||
$dom->saveXML($securityElement),
|
||||
XSD_ANYXML,
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_SECURITY_ELEMENT
|
||||
);
|
||||
|
||||
$authSoapHeader = new SoapHeader(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_SECURITY_ELEMENT,
|
||||
$authSoapVar,
|
||||
true
|
||||
);
|
||||
|
||||
return $authSoapHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* creates the token auth header for direct calls
|
||||
*
|
||||
* @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
|
||||
* @return SoapHeader
|
||||
*/
|
||||
public function getWsseTokenHeader(
|
||||
Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
|
||||
) {
|
||||
$format = '<wsse:%s xmlns:wsse="%s" SOAP-ENV:mustUnderstand="1">%s</wsse:%s>';
|
||||
$securityHeader = sprintf(
|
||||
$format,
|
||||
self::WSSE_SECURITY_ELEMENT,
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
$token->getTokenData(),
|
||||
self::WSSE_SECURITY_ELEMENT
|
||||
);
|
||||
|
||||
$authSoapVar = new SoapVar(
|
||||
$securityHeader,
|
||||
XSD_ANYXML,
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_SECURITY_ELEMENT
|
||||
);
|
||||
|
||||
$authSoapHeader = new SoapHeader(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_SECURITY_ELEMENT,
|
||||
$authSoapVar,
|
||||
true
|
||||
);
|
||||
|
||||
return $authSoapHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* creates the security token auth header for direct calls
|
||||
*
|
||||
* @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
|
||||
* @return SoapHeader
|
||||
*/
|
||||
public function getWsseSecurityTokenHeader(
|
||||
Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse $token
|
||||
) {
|
||||
$format = '<wsse:%s xmlns:wsse="%s" SOAP-ENV:mustUnderstand="1">%s</wsse:%s>';
|
||||
$securityHeader = sprintf(
|
||||
$format,
|
||||
self::WSSE_SECURITY_ELEMENT,
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
$token->getTokenData(),
|
||||
self::WSSE_SECURITY_ELEMENT
|
||||
);
|
||||
|
||||
$authSoapVar = new SoapVar(
|
||||
$securityHeader,
|
||||
XSD_ANYXML,
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_SECURITY_ELEMENT
|
||||
);
|
||||
|
||||
$authSoapHeader = new SoapHeader(
|
||||
self::WSSE_NAMESPACE_SECEXT,
|
||||
self::WSSE_SECURITY_ELEMENT,
|
||||
$authSoapVar,
|
||||
true
|
||||
);
|
||||
|
||||
return $authSoapHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* adds the login specific header to the client
|
||||
*
|
||||
* @return Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
public function addWsseLoginHeader()
|
||||
{
|
||||
return $this->addSoapInputHeader($this->getWsseLoginHeader());
|
||||
}
|
||||
|
||||
/**
|
||||
* adds the earlier fetched token to the header
|
||||
*
|
||||
* @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
|
||||
* @return Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
public function addWsseTokenHeader(
|
||||
Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
|
||||
) {
|
||||
return $this->addSoapInputHeader($this->getWsseTokenHeader($token));
|
||||
}
|
||||
|
||||
/**
|
||||
* adds the earlier fetched token to the header
|
||||
*
|
||||
* @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
|
||||
* @return Zend_Service_DeveloperGarden_Client_Soap
|
||||
*/
|
||||
public function addWsseSecurityTokenHeader(
|
||||
Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse $token
|
||||
) {
|
||||
return $this->addSoapInputHeader($this->getWsseSecurityTokenHeader($token));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue