/** * 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; }
/** * returns the internal soap client * if not allready exists we create an instance of * Zend_Soap_Client * * @final * @return Zend_Service_DeveloperGarden_Client_Soap */ public final 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; }