Added Authentication in SoapClientBuilder

This commit is contained in:
Francis Besset 2011-10-10 00:40:21 +02:00
parent a9b1bdc714
commit 9ce673b8cb
1 changed files with 32 additions and 1 deletions

View File

@ -16,9 +16,12 @@ use BeSimple\SoapCommon\AbstractSoapBuilder;
/** /**
* @author Francis Besset <francis.besset@gmail.com> * @author Francis Besset <francis.besset@gmail.com>
* @author Christian Kerl <christian-kerl@web.de>
*/ */
class SoapClientBuilder extends AbstractSoapBuilder class SoapClientBuilder extends AbstractSoapBuilder
{ {
protected $soapOptionAuthentication = array();
/** /**
* @return SoapClientBuilder * @return SoapClientBuilder
*/ */
@ -36,7 +39,7 @@ class SoapClientBuilder extends AbstractSoapBuilder
{ {
$this->validateOptions(); $this->validateOptions();
return new SoapClient($this->optionWsdl, $this->options); return new SoapClient($this->optionWsdl, $this->getSoapOptions() + $this->soapOptionAuthentication);
} }
/** /**
@ -69,6 +72,34 @@ class SoapClientBuilder extends AbstractSoapBuilder
return $this; return $this;
} }
/**
* @return SoapClientBuilder
*/
public function withBasicAuthentication($username, $password)
{
$this->soapOptionAuthentication = array(
'authentication' => SOAP_AUTHENTICATION_BASIC,
'login' => $username,
'password' => $password
);
return $this;
}
/**
* @return SoapClientBuilder
*/
public function withDigestAuthentication($certificate, $password)
{
$this->soapOptionAuthentication = array(
'authentication' => SOAP_AUTHENTICATION_DIGEST,
'local_cert' => $certificate,
'passphrase' => $password
);
return $this;
}
protected function validateOptions() protected function validateOptions()
{ {
$this->validateWsdl(); $this->validateWsdl();